現代化小白也要嘗試的容器手札 - 簡單備份還原與遷移 Docker 容器

 Day16. 簡單備份還原與遷移 Docker 容器

備份還原與遷移容器

備份容器

運行中的Docker容器備份,首要查看備份容器列表。
先用docker ps指令查看正在執行的Container,取得Container的Name及ID
假設要備份此Nginx Container,ID如下圖所示1d340021374a。

docker ps
docker run --name mynginx1 -p 80:80 -d nginx

https://ithelp.ithome.com.tw/upload/images/20200921/200254813xXFlL1Pxn.png
接下來會用Commit指令來建立備份,指令會暫時儲存mynginx1的運作,之後將備份快照存為mygynginx1的映像檔。

docker commit -p 1d340021374a mygynginx1
docker images

https://ithelp.ithome.com.tw/upload/images/20200921/20025481H0PUIhIdNw.png

然後將備份出來的mygynginx1映像檔放到Docker Repository,但首先要先做Docker Login身份驗證。
https://ithelp.ithome.com.tw/upload/images/20200921/20025481m5FQR2OA2W.png

驗證成功後,要確定自己的Docker Hub上是否有建立公用倉庫,如果沒有請先自建。
https://ithelp.ithome.com.tw/upload/images/20200921/2002548140O28OgdAu.png

docker tag ${Image Name}DockerHub Account/Image Name 推送前的標準語法
docker tag mygynginx1 0155yh/gylab 映像檔推送到Docker Hub前需把Docker Image加註標記
docker images 查看確實已經有了剛剛定義的Docker倉庫0155yh/gylab

https://ithelp.ithome.com.tw/upload/images/20200921/200254816U1hpCHyag.png

docker push 0155yh/gylab 推送完成
https://ithelp.ithome.com.tw/upload/images/20200921/20025481qAK3kgo3hq.png

容器回復

docker rmi -f 0155yh/gylab 示範誤刪映像檔
docker images 確認已經沒有此映像
docker pull 0155yh/gylab  重新拉回剛剛推送的映像檔
docker images 確認映像檔已經還原

https://ithelp.ithome.com.tw/upload/images/20200921/20025481vxT8LBrqLb.png

docker run --name gy1nginx -p 80:80 -d 0155yh/gylab 執行剛剛拉取下來的nginx容器
docker ps 剛剛的容器狀態為執行中
curl http://localhost 網頁已經正常呈現

https://ithelp.ithome.com.tw/upload/images/20200921/20025481X9DVfCe1nT.png

docker save以及docker load就在Day 10. Docker Images深入探討篇章可以在反芻一下。
容器儲存本機並匯入還原

移轉容器

遷移容器說穿了就是以上備份還原的程序。

  1. 我們將任何Docker容器從A主機遷移到B主機。
  2. 移轉過程一開始需將容器備份作快照Docker映像,而將此映像推送到Docker Hub或另存本地的tar檔。
  3. 如我們已將映像推送到Docker Hub則可使用docker Run從任意的伺服器容器環境輕鬆還原和運行容器。
  4. 而如是在本地儲存為tar檔時,則可輕易將此檔案複製或移動到要載入執行所需新的伺服器容器環境上。

留言

這個網誌中的熱門文章

Azure 命令工具資源彙整

Azure DNS PTR 反解解惑教學

Windows Server 2022 整合 Azure Arc 簡易教學示範