docker 上的音量 backup/restore 未按预期工作
Volume backup/restore on docker not working as expected
我正在使用 docker-compose 文件 运行 我从在线资源中提取的图像实例。
我使用以下方法备份了这张图片:
docker run --rm --volumes-from container1 -v $(pwd):/backup ubuntu tar cvfz /backup/backup.tar /var/lib/myapp
,对其进行了一些更改,然后尝试使用以下命令恢复它:
docker run --rm --volumes-from container2 -v $(pwd):/backup ubuntu bash -c "cd /var/lib/myapp && tar xvf /backup/backup.tar --strip 1"
但是,压缩备份的恢复(提取)是在我的主机服务器上的 cd /var/lib/myapp
内进行的,而不是在容器内。有没有办法表明路径是容器而不是主机
我通过将命令修改为以下内容解决了这个问题:
备份:
docker run --rm --volumes-from container1 -v $(pwd):/backup ubuntu tar -cvzf /backup/backup.tar -C /var/lib/mapp ./
恢复:
docker run --rm --volumes-from container2 -v $(pwd):/backup ubuntu bash -c "cd /var/lib/myapp && tar xvf /backup/backup.tar --strip 1"
然后运行:
docker-compose restart
我正在使用 docker-compose 文件 运行 我从在线资源中提取的图像实例。
我使用以下方法备份了这张图片:
docker run --rm --volumes-from container1 -v $(pwd):/backup ubuntu tar cvfz /backup/backup.tar /var/lib/myapp
,对其进行了一些更改,然后尝试使用以下命令恢复它:
docker run --rm --volumes-from container2 -v $(pwd):/backup ubuntu bash -c "cd /var/lib/myapp && tar xvf /backup/backup.tar --strip 1"
但是,压缩备份的恢复(提取)是在我的主机服务器上的 cd /var/lib/myapp
内进行的,而不是在容器内。有没有办法表明路径是容器而不是主机
我通过将命令修改为以下内容解决了这个问题:
备份:
docker run --rm --volumes-from container1 -v $(pwd):/backup ubuntu tar -cvzf /backup/backup.tar -C /var/lib/mapp ./
恢复:
docker run --rm --volumes-from container2 -v $(pwd):/backup ubuntu bash -c "cd /var/lib/myapp && tar xvf /backup/backup.tar --strip 1"
然后运行:
docker-compose restart