上一篇文章我们知道如何使用dockerfile来自定义镜像,本文我们将采用编辑容器的方式制作镜像。
首先我们需要运行镜像产生容器,我们这里运行我们上次做好的tomcat镜像,运行方式:
docker run -d -p 2222:22 -p 8085:8080 IMAGENAME:TAG
运行后我们可以使用xhsell来连接容器,连接后我们可以向webapps中添加war(经过测试),或者安装新的软件(没有测试),然后我们执行:
docker commit CONTAINERID IMAGENAME:TAG 来生成新的镜像(注意这步是在宿主机而不是容器内执行)。
这样我们就生成了一个新的镜像,当时该镜像一经生成,就无法被修改了,也就意味着如果你放入的war包,那么你的war包无法被删除了,因为镜像是只读的。
上面是通过xshell连接的方式来安装应用,我们还可以执行命令 docker exec -it CONTAINERID bash 进入容器,然后安装应用等,最后执行commit生成新的镜像。