我正在docker-compose.yml为多个项目使用相同的文件.我真的很懒,所以我不想用它们开始docker-compose -p $PROJECT_NAME up.
从Docker版本17.06.0开始,可以直接在docker-compose.yml文件中设置变量.
我在 docker-compose.yml 中定义了两项服务,每一项都使用自己的命名卷。
这些卷不是预先创建的。我希望 docker 在容器首次启动后创建卷,并在以后的启动中重复使用相同的卷。
docker-compose.yml
version: '2'
services:
db:
container_name: db
environment:
POSTGRES_DB=new_db_name
volumes:
- pgdata:/var/lib/postgresql/data
app:
container_name: app
depends_on:
- db
volumes:
- appdata:/app/data
volumes:
pgdata
appdata
Run Code Online (Sandbox Code Playgroud)
但是,执行 docker-compose up 命令后,docker 会将当前目录名称添加到卷中。
我希望 docker 将 docker-compose yml 中指定的确切名称分配给卷。
我在这里找到了一个解决方案:https ://stackoverflow.com/a/59066462/12496407
但是,我无法应用上述解决方案,因为我的 docker-compose.yml 中有多个卷,并且提到的解决方案仅考虑一个卷。