日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker用Commit给容器做快照

發布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker用Commit给容器做快照 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于?commit

鏡像是容器的基礎,每次執行?docker?run?的時候都會指定哪個鏡像作為容器運行的基礎。

鏡像是多層存儲,每一層是在前一層的基礎上進行修改;而容器同樣也是多層存儲,是在以鏡像為基礎,在其基礎上加一層作為容器運行的時的存儲層。

以下是用來理解鏡像構建:

docker?run?--name?webserver?-d?-p?80:80?nginx

以nginx鏡像為基礎,啟動一個容器,命名為webserver?映射80端口

?

我本地沒有nginx鏡像,所以顯示自動拉取然后創建啟動容器。

?

Ps:我是用的虛擬機,虛擬機ip是上面那個所以這么訪問的。如果是本機或者其他請自行轉換。

Docker?ps?確認下,看容器正跑著呢

?

接下來對鏡像進行操作。

登入這個容器的bash?:?docker?exec?-it?webserver?bash?

把網頁內容改下:??echo?'<h1>Hello,?Docker!</h1>'?>?/usr/share/nginx/html/index.html

?

改完后記得exit退出容器連接。

剛剛修改了容器的文件,也就是改動了容器的存儲層。

接下來要把這次改動的容器狀態打包成鏡像。也就是把基本鏡像啟動成容器(此時已經疊加了存儲層),然后我們又改變了存儲層。現在把目前的這個最新狀態再打包成鏡像。

docker?commit?--author?"13?xxxxx"?webserver?nginx:v2

然后看下鏡像列表里已經有這個了

docker?image?ls

然后用這個新鏡像?nginx:v2?跑一個容器

docker?run?--name?web2?-d?-p?81:80?nginx:v2

Ok上面就是關于commit的基本操作,大體來說就是能把一個活動的容器的當前狀態打包成一個鏡像,以后可以繼續把這個鏡像跑起來成一個容器,有點快照的意思。但是切記不要用commit來真正的打包東西,除非是一些保存環境現場啥的特殊需求。因為鏡像是分層存儲的,這么搞會導致鏡像一層一層的非常臃腫,更難受的是,這個會導致黑盒問題。迭代十幾個版本之后,每一層做過什么改動光憑幾行描述備注或者是docker?diff啥的很難搞清楚。打包生成鏡像通常正確姿勢是用Dockerfile

?

總結

以上是生活随笔為你收集整理的Docker用Commit给容器做快照的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。