我正在 Windows 上试验 docker 并为其创建一个堆栈。
我刚刚发现,当我使用 docker-compose up -d 时,会使用像foldername_volumename 这样的名称创建docker 卷。
我在一个文件夹下有一个用于堆栈的工作应用程序,只想更改文件夹名称。但发现虽然我改变了它,但它阻止我使用以前使用过的相同卷。
如果我移动到另一个卷名称,我将丢失一些配置和数据。
有什么方法可以重复使用相同的卷,但仍然可以更改文件夹名称?
最佳实践是什么?
您可以使用
external: true
让 docker compose 知道它不需要创建卷,它已经存在(因此,文件夹名称不会被添加到前面)。
version: '3.2'
volumes:
mydata:
external: true
services:
test:
image: alpine
volumes:
- mydata:/data
卷名称基于项目名称。默认情况下,项目名称基于包含文件夹的名称,但您可以通过执行
docker-compose -p yourprojectname
来覆盖它。因此,如果您这样做,无论包含文件夹名称如何,您都可以获得一致的卷名称。
谢谢@itamar-turner-trauring,这真的帮助了我!
为了澄清,
-p
选项应设置在 docker-compose
命令之后、子命令(如 up
:)之前
$ docker-compose -p projectName up -d