一、dockersave 命令詳解
$ docker save [OPTIONS] IMAGE [IMAGE...]
docker save 命令可以將一個或多個鏡像導出為 tar 歸檔文件,常用選項有:
- -o, –output string 將鏡像保存為指定的文件名,默認為 STDOUT
- -q, –quiet 隱藏輸出過程中的詳細信息
- –tag string 為鏡像指定一個新標籤(tag)
二、備份單個鏡像
首先嘗試備份一個單獨的鏡像,例如備份 nginx:latest 鏡像
$ docker save nginx:latest -o nginx.tar
該命令將當前系統上的 nginx:latest 鏡像保存為一個名為 nginx.tar 的 tar 歸檔文件,默認輸出為 STDOUT(控制台輸出)
三、備份多個鏡像
如果需要備份多個鏡像,可以在一行命令中使用多個 IMAGE 參數:
$ docker save nginx:latest redis:latest mysql:latest -o images.tar
該命令將當前系統上的 nginx:latest、redis:latest 和 mysql:latest 鏡像保存為一個名為 images.tar 的 tar 歸檔文件。
四、導入備份鏡像
將備份的鏡像文件導入到另一台計算機或 Docker 容器中:
$ docker load -i images.tar
該命令將 images.tar 文件中的所有鏡像導入到當前系統中,可以使用 docker images 命令查看相應的本地鏡像列表。
五、使用 docker-compose.yml 文件編排備份
更為高級的備份方式是使用 docker-compose.yml 文件編排多個鏡像的備份。這種方式可以自動備份多個容器同時還原多個容器。
編寫 docker-compose.yml 文件,示例如下:
version: '3' services: nginx: image: nginx:latest redis: image: redis:latest mysql: image: mysql:latest
使用 docker-compose 命令備份:
$ docker-compose save -o images.tar
該命令將當前目錄下的 docker-compose.yml 文件中定義的 nginx、redis 和 mysql 鏡像保存為一個名為 images.tar 的 tar 歸檔文件。
六、從備份文件中恢復容器
使用 docker-compose 命令從備份文件中恢復容器:
$ docker-compose load -i images.tar
該命令將 images.tar 文件中的所有鏡像導入到當前系統中,然後使用 docker-compose up 命令啟動這些容器。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/180232.html