有些時候需要將 docker 容器(container)當前的狀態儲存起來,該怎麼做呢? docker commit 指令就是將容器當前狀態儲存為新的 image 用的,不過需要注意的是容器的 volumes 是不會被備份。
參數:
參考資料:
Ruyut - 所有常用的 Docker 基礎 語法 整理
docker docs - docker commit
docker docs - docker save
docker docs - docker load
依照當前容器產生 image
docker commit docker_name new_image_name:tag
參數:
- -p : 處理期間是否要暫停容器,後面需要加上 true 或 false,預設為 true
- -m : commit 訊息
- -a : 作者
- new_image_name:tag : 新的 image 名稱和 tag,tag 可以省略
docker commit -a ruyut -m test_message mysql new_mysql:latest
透過 docker image 產生 tar 檔案
建立好 image 後,除了上傳到 docker hub 以外,也可以將 docker image 儲存為 tar 檔案,這就可以很方便的移動 image 了
docker save my_image > my_image.tar
將 tar 檔案還原為 docker image
把 tar 檔案移動到目標裝置後就可以使用下面的語法將 image 還原:
docker load < my_image.tar
參考資料:
Ruyut - 所有常用的 Docker 基礎 語法 整理
docker docs - docker commit
docker docs - docker save
docker docs - docker load
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com