debian

Debian Docker容器如何备份与恢复

小樊
47
2025-07-30 06:35:05
栏目: 智能运维

在Debian系统上备份和恢复Docker环境是一个重要的任务,以确保数据的安全性和可恢复性。以下是详细的备份和恢复步骤:

备份步骤

  1. 镜像备份: 使用 docker save 命令将镜像保存为tar文件。

    docker save -o <镜像文件名.tar><镜像名>:<标签>
    

    例如:

    docker save -o myapp.tar myapp:latest
    
  2. 容器备份

    • 先用 docker commit 将运行中容器保存为新镜像。
      docker commit <容器ID> <备份镜像名>:<标签>
      
    • 再用 docker save 保存该镜像。
      docker save -o <备份文件名.tar> <备份镜像名>:<标签>
      
      例如:
      docker commit mycontainer myapp_backup:latest
      docker save -o mycontainer_backup.tar myapp_backup:latest
      
  3. 卷备份: 使用 docker volume ls 列出所有卷,然后用 docker cp 复制卷数据到主机。

    docker volume ls
    docker cp <卷名>:/ <主机路径>
    

    例如:

    docker volume ls
    docker cp mydata:/ /mnt/backup/mydata
    
  4. 网络备份: Docker网络没有直接备份方法,但可备份 /etc/docker/network 目录下的配置文件。

    tar -czvf docker-networks.tar.gz /etc/docker/network
    

恢复步骤

  1. 镜像还原: 使用 docker load 命令加载镜像。

    docker load -i <镜像文件名.tar>
    

    例如:

    docker load -i myapp.tar
    
  2. 容器还原: 使用 docker run 命令从还原的镜像创建新容器。

    docker run -d --name <新容器名><镜像名>:<标签>
    

    例如:

    docker run -d --name myapp_restored myapp_backup:latest
    
  3. 卷还原: 使用 docker cp 将备份数据复制回卷。

    docker cp <主机路径> <卷名>:/<卷内路径>
    

    例如:

    docker cp /mnt/backup/mydata mydata:/
    
  4. 网络还原: 将备份的网络配置文件复制回 /etc/docker/network 目录,并重启Docker服务。

    tar -xzvf docker-networks.tar.gz -C /
    systemctl restart docker
    

注意事项

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

0
看了该问题的人还看了