1.说明
我们可以直接通过容器打包镜像,之后就可以根据这个镜像再运行多个相同环境的容器。也可以上传到私有docker源上,其他服务器一条命令即可下载镜像。从而消除搭建环境的操作。
2.制作方式
- 基于Docker Commit制作镜像
- 基于dockerfile制作镜像,Dockerfile方式为主流的制作镜像方式
3.操作
3.1.commit
通过已有容器创建镜像。
# docker commit 容器ID 镜像名:TAG -参数docker commit -a "XD" -m "mkdir /home/xdclass" 4eb9d14ebb18 mcentos:7# 查看docker images
-a:标注作者-m:说明注释
3.2.Dockerfile
通过文本创建镜像
# this is a dockerfile# ↓基础镜像FROM centos:7# ↓作者MAINTAINER XD 123456@qq.com# ↓执行一条命令:echo "正在构建镜像!!!"RUN echo "正在构建镜像!!!"# ↓指明镜像的工作目录WORKDIR /home/xdclass# ↓拷贝文件# ↓前面只能是绝对路径,文件相对于dockerfile的路径COPY 123.txt /home/xdclass# ↓执行一条命令:yum install -y net-toolsRUN yum install -y net-tools
创建命令:
# docker build -t 镜像名:TAG dockerfile的路径docker build -t mycentos:v2 .# 查看docker images
4.Docker构建分层
当我们使用dockerfile创建镜像的时候,打印日志的每一步都是一个镜像对应一个ID。
制作完成之后,我们可以通过history查看镜像分层。
# 查看每一层镜像信息docker history mycentos:v2# missing表示非本机
