使用 compose 重新创建命名卷

Sla*_*lav 8 docker docker-compose docker-volume

-V, --renew-anon-volumes   Recreate anonymous volumes instead of retrieving
                               data from the previous containers.
Run Code Online (Sandbox Code Playgroud)

难道docker-compose up -V不适用于命名卷?

我有一项服务,它在构建映像时从 SVN 中提取一些文件。然后它创建一个命名卷。我可以docker-compose build --no-cache重新创建图像并从 SVN 中提取最新文件。但是音量不会在 上更新docker-compose up -V,除非我事先将其删除。

我只想要一种干净简单的方法来更新命名卷中的文件

当然,我可以手动删除卷,然后运行所有内容,但我真的希望它是 compose 驱动的。这让我想到了第二个问题。

有一个docker-compose down -v也将删除卷,但我无法针对单个服务(仅全部或全部)运行它。

因此,我需要以某种方式从 compose-file 中找出仅 1 个服务的命名卷,然后使用一些额外的命令 ( docker volume rm?) 仅删除该卷。

BMi*_*tch 9

如果您不关心命名卷的内容,请不要首先创建它(删除撰写文件中的命名卷行),或者在停止项目时将其删除:

docker-compose down -v
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。抱歉,您回复后我编辑了问题。我无法使用“down -v”,因为撰写文件中还有其他服务/卷 (4认同)