问题描述
在docker-compose
中使用卷时,docker
将创建一个卷,并将该卷名附加到目录名:[directory containing yml]_[volume name]
/var/containers/my-important-server-v0.23/docker-compose.yml
volumes:
server-db:
# Volume name: my-important-server-v0.23_server-db
现在,由于某种原因移动并重命名包含docker-compose.yml
的目录时,它将创建一个新卷,其中新目录以卷名开头。
为了防止这种情况并允许多个撰写文件使用同一卷,我们应该手动创建一个卷:
docker volume create server-db
volumes:
server-db:
external: true
我们如何将文件从my-important-server-v0.23_server-db
传输到server-db
?
这是我尝试过的并且似乎很有意义的方法,但是它没有按预期工作。
docker volume create server-db
OLD=$(docker volume inspect my-important-server-v0.23_server-db | jq -r .[0].Mountpoint)
NEW=$(docker volume inspect server-db | jq -r .[0].Mountpoint)
sudo rsync -va $OLD/ $NEW/
现在是问题所在。包含MariaDB文件的目录具有不同的大小。显然,您不能像这样简单地复制文件。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)