更改目录名称后运行堆栈时,Docker卷名称已更改

时间:2020-04-18 06:01:29

标签: docker docker-compose docker-volume

我正在Windows上尝试使用docker并为此创建一个堆栈。

我刚刚发现,当我使用docker-compose up -d时,将使用诸如foldername_volumename之类的名称创建Docker卷。

我在一个文件夹下有一个适用于堆栈的应用程序,只想更改文件夹名称。但是发现在我更改它时,它使我无法使用以前使用的相同卷。

我有一些配置和数据,如果我移到另一个卷名,这些配置和数据将会丢失。

有什么办法可以重复使用相同的卷,但仍然能够更改文件夹名称?

最佳做法是什么?

2 个答案:

答案 0 :(得分:0)

您可以使用external: true让docker compose知道它不需要创建该卷,该卷已经存在(因此,该文件夹名称将不作为前缀)。

version: '3.2'

volumes:
  mydata:
    external: true

services:
  test:
    image: alpine
    volumes: 
    - mydata:/data

External volumes documentation

答案 1 :(得分:0)

卷名称基于项目名称。默认情况下,项目名称基于包含文件夹的名称,但是您可以通过执行docker-compose -p yourprojectname来覆盖它。因此,如果这样做,无论包含文件夹名称如何,都可以获得一致的卷名称。