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 在单机环境