1.说明

我们可以直接通过容器打包镜像,之后就可以根据这个镜像再运行多个相同环境的容器。也可以上传到私有docker源上,其他服务器一条命令即可下载镜像。从而消除搭建环境的操作。

2.制作方式

  • 基于Docker Commit制作镜像
  • 基于dockerfile制作镜像,Dockerfile方式为主流的制作镜像方式

3.操作

3.1.commit

通过已有容器创建镜像。

  1. # docker commit 容器ID 镜像名:TAG -参数
  2. docker commit -a "XD" -m "mkdir /home/xdclass" 4eb9d14ebb18 mcentos:7
  3. # 查看
  4. docker images
  • -a:标注作者
  • -m:说明注释

3.2.Dockerfile

通过文本创建镜像

  1. # this is a dockerfile
  2. # ↓基础镜像
  3. FROM centos:7
  4. # ↓作者
  5. MAINTAINER XD 123456@qq.com
  6. # ↓执行一条命令:echo "正在构建镜像!!!"
  7. RUN echo "正在构建镜像!!!"
  8. # ↓指明镜像的工作目录
  9. WORKDIR /home/xdclass
  10. # ↓拷贝文件
  11. # ↓前面只能是绝对路径,文件相对于dockerfile的路径
  12. COPY 123.txt /home/xdclass
  13. # ↓执行一条命令:yum install -y net-tools
  14. RUN yum install -y net-tools

创建命令:

  1. # docker build -t 镜像名:TAG dockerfile的路径
  2. docker build -t mycentos:v2 .
  3. # 查看
  4. docker images

4.Docker构建分层

当我们使用dockerfile创建镜像的时候,打印日志的每一步都是一个镜像对应一个ID。
制作完成之后,我们可以通过history查看镜像分层。

  1. # 查看每一层镜像信息
  2. docker history mycentos:v2
  3. # missing表示非本机