一、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/n/180232.html