用compose重新创建命名卷

时间:2020-03-24 18:14:01

标签: docker docker-compose docker-volume

-V, --renew-anon-volumes   Recreate anonymous volumes instead of retrieving
                               data from the previous containers.

docker-compose up -V是否不适用于命名卷?

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

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

当然,我可以手动删除该卷,然后运行所有内容,但我确实希望它是由组合驱动的。这导致了第二个问题。

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

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

1 个答案:

答案 0 :(得分:2)

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

docker-compose down -v