备份和恢复Ubuntu 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
恢复数据卷容器:
# 创建新的数据卷容器
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容器中的数据。选择哪种方法取决于具体的需求和场景。