备份和恢复Ubuntu Docker容器可以通过多种方法实现,以下是详细的步骤:
备份Docker容器
-
使用数据卷容器备份数据:
- 创建一个专门用于数据存储的普通容器(数据卷容器)。
- 将需要备份的数据卷挂载到该容器中。
- 使用
docker run
命令创建一个临时容器,挂载数据卷容器,并将数据卷备份为压缩文件。
# 创建数据卷容器 sudo docker run -d -v /dbdata --name dbdata ubuntu /bin/bash # 备份数据卷 sudo docker run --rm --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
-
使用Docker镜像备份:
- 使用
docker commit
将运行的容器转换为镜像。 - 使用
docker save
将镜像保存为压缩文件。
# 提交容器为镜像 docker commit mycontainer myimage # 保存镜像为文件 docker save -o myimage.tar myimage
- 使用
恢复Docker容器
-
恢复数据卷容器:
- 创建一个新的数据卷容器。
- 将备份的数据卷恢复到新的数据卷容器中。
- 在其他容器中挂载新的数据卷容器,恢复数据。
# 创建新的数据卷容器 sudo docker run -v /dbdata --name dbdata2 ubuntu /bin/bash # 恢复数据卷 sudo docker run --rm --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar -C /dbdata # 在其他容器中挂载新的数据卷容器 sudo docker run -d --volumes-from dbdata2 --name db1 training/postgres
-
恢复Docker镜像:
- 使用
docker load
将保存的镜像文件导入到本地。 - 使用
docker run
命令从导入的镜像创建新的容器。
# 导入镜像 docker load -i myimage.tar # 使用导入的镜像创建新容器 sudo docker run -d --name mynewcontainer myimage
- 使用
通过上述方法,可以有效地备份和恢复Ubuntu Docker容器中的数据。选择哪种方法取决于具体的需求和场景。