運行中的Docker容器備份,首要查看備份容器列表。
先用docker ps
指令查看正在執行的Container,取得Container的Name及ID
。
假設要備份此Nginx Container,ID如下圖所示1d340021374a。
docker ps
docker run --name mynginx1 -p 80:80 -d nginx
接下來會用Commit指令來建立備份,指令會暫時儲存mynginx1的運作,之後將備份快照存為mygynginx1的映像檔。
docker commit -p 1d340021374a mygynginx1
docker images
然後將備份出來的mygynginx1映像檔放到Docker Repository,但首先要先做Docker Login身份驗證。
驗證成功後,要確定自己的Docker Hub上是否有建立公用倉庫,如果沒有請先自建。
docker tag ${Image Name}DockerHub Account/Image Name 推送前的標準語法
docker tag mygynginx1 0155yh/gylab 映像檔推送到Docker Hub前需把Docker Image加註標記
docker images 查看確實已經有了剛剛定義的Docker倉庫0155yh/gylab
docker push 0155yh/gylab 推送完成
docker rmi -f 0155yh/gylab 示範誤刪映像檔
docker images 確認已經沒有此映像
docker pull 0155yh/gylab 重新拉回剛剛推送的映像檔
docker images 確認映像檔已經還原
docker run --name gy1nginx -p 80:80 -d 0155yh/gylab 執行剛剛拉取下來的nginx容器
docker ps 剛剛的容器狀態為執行中
curl http://localhost 網頁已經正常呈現
docker save
以及docker load
就在Day 10. Docker Images深入探討篇章可以在反芻一下。
容器儲存本機並匯入還原
遷移容器說穿了就是以上備份還原的程序。
tar
檔。docker Run
從任意的伺服器容器環境輕鬆還原和運行容器。