前面我们下载了一个centos7的镜像,然后通过容器运行之后,在容器中的配置想保存成镜像,可以做如下操作:
[root@localhost ~]# docker run -it centos:centos7 /bin/bash [root@93b35bb0c041 /]# cd home/ [root@93b35bb0c041 home]# touch 1.txt [root@93b35bb0c041 home]# ll total 0 -rw-r--r--. 1 root root 0 Mar 31 08:51 1.txt [root@93b35bb0c041 home]# exit exit [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 93b35bb0c041 centos:centos7 "/bin/bash" About a minute ago Exited (0) 8 seconds ago epic_darwin [root@localhost ~]# docker commit -m="touch file" -a="zhangsan" 93b35bb0c041 zhangsan/centos7:v1 sha256:ee2795e598675aa3e831dbd66b0bdc578b5c2da340f3e0cc800fc021d23a148d
各个参数说明:
-
-m: 提交的描述信息
-
-a: 指定镜像作者
-
93b35bb0c041:容器 ID
-
runoob/ubuntu:v2: 指定要创建的目标镜像名
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE zhangsan/centos7 v1 ee2795e59867 18 seconds ago 204MB centos latest 300e315adb2f 3 months ago 209MB centos centos7 8652b9f0cb4c 4 months ago 204MB
然后我们以我们自己创建的镜像运行,查看下之前创建的1.txt还在,说明镜像创建成功。
[root@localhost ~]# docker run -it zhangsan/centos7:v1 /bin/bash
[root@4300e911311e /]# cd /home/
[root@4300e911311e home]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 31 08:51 1.txt
以上是通过修改更新镜像的方式创建镜像,接下来我们使用命令 docker build , 从零开始来创建一个新的镜像。