在docker compose中,我使用volumes_from
从另一个容器加载数据库容器数据。
mssql-server-linux:
image: mssql-server-linux:2017-latest
depends_on:
- mssql-server-linux-data
volumes_from:
- mssql-server-linux-data
mssql-server-linux-data:
image: mssql-server-linux-data-keva:latest
entrypoint: /bin/sh
volumes:
- /var/opt/mssql
因此,数据库容器使用以下卷来存储其数据
$ docker volume ls
DRIVER VOLUME NAME
local e0368e9ae230de6578bb18a3a70823d93ecc4acab7905f96380aff4689024c25
我想使用新命名的映像和卷备份和还原数据库更改。如何执行此操作?
- 编辑**
我试着在tar中备份卷,也没有成功
$ docker run --rm --volumes-from emma_mssql-server-linux_1 -v /c/temp:/backup ubuntu tar cvf /backup/backup.tar /var/opt/mssql
tar: Cannot connect to C: resolve failed
1条答案
按热度按时间carvr3hs1#
我不确定这是您失败的根本原因-但您是否尝试过在单独的步骤中执行重命名和备份?
1.删除旧卷
docker volume rm <old-volume-name>
1.使用所需名称创建新卷
docker volume create --name <new-volume-name>
1.备份新创建的卷
请分享,如果这解决了你。
**请注意:**假设是该卷位于您系统的本地,否则可能是权限问题,在这种情况下,您可能需要在备份卷之前创建一个本地副本: