如何提交一个自己的镜像
前言
再上一篇博客总结了Docker的镜像加载原理感兴趣可以访问Docker镜像加载原理
Commit
Docker通过 docker commit命令来提交容器成为一个新的副本。也就是从容器中创建一个新的镜像。
在docker 中通过 docker commit --help命令我们可以看到docker commit的描述以及它的一些可选项。
docker commit -m=“提交的描述信息” -a=“作者” 容器id 目标镜像名:[TAG]
实战
主要的思路是我们启动一个启动一个镜像然后对这个进行进行一些操作增删改查之类的,然后我们将修改之后的镜像通过commit命令生成一个新的镜像。
- 以Tomcat为例,先启动tomcat,然后进入到tomcat容器内容,将文件夹webapps.dist中的所有文件考培到webapps中。
docker run -it -p 8080:8080 tomcat #启动tomcat docker exec -it 9a7c6967e1f0 /bin/bash #进入到容器内部
查看容器中的所有文件
进入webapps.dist文件夹中并查看文件
然后我们退出去进入到webapps文件夹中发现没有文件,我们将webapps.dist中的所有文件拷贝到webapps中。
- 将我们修改之后的容器使用commit命令进行提交,然后我们再查看镜像,发现我们的镜像已经提交上齐了,并且由于我们是拷贝了文件,可以看到内存发生了变化。
docker commit -a="David" -m="add webapps app" 9a7c6967e1f0 tomcat02:1.0
这儿其实很好的体现了docker的分层原理,我们可以这样理解,最初的镜像是一层,我们的修改又是一层。然后通过commit命令将这两层打包成了一层。之后我们又可以在这一层上进行操作。