centos

docker在centos中如何备份

小樊
50
2025-04-14 14:37:27
栏目: 智能运维

在CentOS系统中备份Docker容器、镜像、卷和网络,可以按照以下步骤进行:

备份Docker容器

  1. 列出所有容器

    docker ps -a
    
  2. 停止并导出容器: 对于每个需要备份的容器,先停止它,然后使用docker export命令导出为tar文件。

    docker stop <container_id_or_name>
    docker export <container_id_or_name> > <backup_file>.tar
    
  3. 备份所有容器: 可以使用脚本来自动化这个过程。

    docker ps -a -q | while read container_id; do
        docker stop $container_id
        docker export $container_id > "${container_id}_backup.tar"
    done
    

备份Docker镜像

  1. 列出所有镜像

    docker images
    
  2. 导出镜像: 使用docker save命令将镜像导出为tar文件。

    docker save <image_id_or_name> > <image_backup>.tar
    
  3. 备份所有镜像: 可以使用脚本来自动化这个过程。

    docker images -q | while read image_id; do
        docker save $image_id > "${image_id}_backup.tar"
    done
    

备份Docker卷

  1. 列出所有卷

    docker volume ls
    
  2. 备份卷数据: 使用docker cp命令将卷数据复制到主机上的一个目录中。

    docker volume ls | while read volume_name; do
        docker cp /var/lib/docker/volumes/$volume_name/_data /path/to/backup/$volume_name
    done
    

备份Docker网络

Docker网络通常不需要单独备份,因为它们是轻量级的,并且可以通过重新创建来恢复。

恢复备份

恢复容器

  1. 导入容器: 使用docker import命令将tar文件导入为新的镜像。

    cat <container_backup>.tar | docker import - <new_image_name>
    
  2. 运行新镜像

    docker run -d --name <new_container_name> <new_image_name>
    

恢复镜像

  1. 导入镜像
    cat <image_backup>.tar | docker import - <new_image_name>
    

恢复卷数据

  1. 将数据复制回卷
    docker cp /path/to/backup/$volume_name/_data /var/lib/docker/volumes/$volume_name/_data
    

注意事项

通过以上步骤,你可以在CentOS系统中有效地备份和恢复Docker容器、镜像和卷。

0
看了该问题的人还看了