Docker

​ 一个统一环境dev/qa/app/beta/cloud的容器、容器是相互隔离的。

​ Docker是容器技术,解决软件跨环境的迁移的问题。

​ Docker安装后,在本地一守护进程(Daemon)的方式后台运行。

-> docker -v
Docker version 19.03.8, build afacb8b

​ 本地部署的分为imagecontainerimage相当于类,container相当于对象,一个类可以创建多个对象。

image 可来自于docker官方Repository Docker Hubprivate Repository阿里云镜像 TODO

镜像命令

docker images // 查看当前已安装的镜像列表
docker search [redis] // 搜索redis镜像
docker pull [redis]:[version] // 不指定version默认下载latest
docker rmi [imageId]/[redis]:[version]

容器命令

1 2 3 4 5 docker ps // 查看运行的容器 docker ps -a // 查看所有的容器 docker -run -it[d] --name=[name] /bin/sh // 运行docker -i持续运行 -t分配终端(交互式) -d后台运行(守护式) /bin/sh mac default docker exec [name] /bin/sh // 进入某一运行的容器中 docer [start][stop][rm][inspect] [container-name] // 启动、停止、移除、查看详情

数据卷容器

img

1 2 3 docker run -it --name c3 -v /volume centos:latest // 创建名为c3的并带有一个/volume的数据卷容器 centos docker run -it --name c1 --volumes-from c3 centos:latest // 创建c1从c3挂载 docker run -it --name c2 --volumes-from c3 centos:latest // 创建c2从c3挂载

img

Docker的本质

img

img

创建新的镜像

1.容器转为镜像

1 2 3 docker commit 容器id 镜像名字:版本号 docker save -o 压缩文件名称 镜像名字:版本号 docker load -i 压缩文件名称
  1. Dockerfile
1 2 3 4 5 6 7 8 FROM centos:latest MAINTAINER maronghe <loganma0209@gmail.com> RUN yum install -y vim # 安装 vim WORKDIR /usr #设置默认目录为/usr CMD /bin/bash
1 docker build -f centos_dockerfile -t logan_centos:0.0.1 . // build dockerfile 创建镜像

容器复用宿主机的内核。

总结:

img

img