docker commit 发布自己的镜像
1. docker images 的分层
首先我们需要理解的是docker images的分层原理
可能你看完这个还不太理解什么是分层, 不知道你是否有注意到当我们docker pull 一个image的时候, 他是一层一层的下载的
所以从这个就可以看出第一层我们已经有了, 可能是centos的基本文件命令,因为我们的redis要基于一个linux系统, 我们就不需要再去下载了. 直接进行层级复用即可, 这样就快很多并且下载的文件体积也小很多
这是第一个原因为什么docker快
第二个原因就是拿VM和docker相比, 我们建立一个VM, 需要去模拟他的整个OS系统, 那就需要有自己的kernel内核. 每一台虚拟机就有一个自己的内核. 但是相比于docker, docker是直接复用了主机host的kernel, 而不是自己维护自己的内核. docker pull 下载下来的文件也只是比如说我们的Centos里面必要的指令集.
它包含运行某个软件所需要的所有内容,包括代码,运行时(一个程序在运行或者在被执行的依赖)、库,环境变量和配置文件。内核直接复用我们host的内核即可 . 相比于VM那就快的多了.
2. docker commit
接下来就自己发布一个属于自己的镜像
当我们运行一个Tomcat的镜像时, 他的webapps里面默认是没有文件的. 于是此时我们想要自己加一点文件到webapps里面去, 那么就相当于我自己加了一层数据层, 但其实是基于官方给的tomcat镜像这个官方的tomcat镜像又分了很多层, 现在我想打包, 之后都使用这一个tomcat镜像该怎么办呢. 此时就可以使用docker commit 命令了
docker commit -a=“作者” -m=“image的描述” 容器ID 目标镜像名:[TAG]
docker commit -a=“wjh” -m=“add webapps” c8d2a8e64fc6 tomcat02:1.0
这样我们就可以一直使用属于我们自己创建的tomcat镜像
docker images
如果想要让别人也用到你的docker image, 那么就需要使用dockerFile上传到dockerHub里面啦
总结
以上是生活随笔为你收集整理的docker commit 发布自己的镜像的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: docker学习路程之部署一个nginx
- 下一篇: docker compose 在单机环境