docker commit提交容器成为一个新的镜像:
docker commit -m="提交的描述信息" -a="作者" 需要提交的容器ID 镜像名称:TAG
这里以tomcat为例,因为tomcat镜像官方默认在webapp下是没有任何文件的,我们可以启动tomcat后,将webapps.dis下的文件拷贝到webapps以后就可以以这个为基础镜像。
1、下载镜像
2、启动容器
docker run -d -it -p 9090:8080 43e421a14aec
启动完成后,进入容器:
docker exec -it b01a2438c127 /bin/bash
进入交互界面后,进入tomcat的webapps:
可以看到里面是空的,这个时候我们访问tomcat如下:
注意:因为官方的tomcat镜像webapps里面是没有东西的
在tomcat目录下,还有一个webapps.dist目录,将这个目录下的所有文件都拷贝到webapps下:
我们再访问tomcat:
3、提交commit
docker commit -m="add webapps app" -a="alinx" b01a2438c127 tomcat:1.0
查看commit新生成的镜像:
从图中可以看到,这个镜像比下面的基础镜像大一点,因为我们在基础镜像上层加了webapps操作。
这两个图和开头第一个图一样,这就是我们的镜像分层原理。
总结:如果想要保存当前容器的状态,就可以通过commit来提交,获得一个新的镜像,这就好比VM的生成快照。