我有一个像这样的docker-compose.yml文件:
name:
image: docker/container
container_name: coolcontainer
restart: always
volumes:
- ${DIR1PATH}:/storage/${DIR1}
- ${DIR2PATH}:/storage/${DIR2}
- ${DIR3PATH}:/storage/${DIR3}
- ${DIR4PATH}:/storage/${DIR4}
是否可以将所有卷装载存储在单独的文件中,以便将docker-compose.yml替换为:
name:
image: docker/container
container_name: coolcontainer
restart: always
volumes:
${CUSTOM_MOUNTS_FILE}
答案 0 :(得分:0)
并非特别符合您的要求,但是您可以将多个撰写文件合并在一起。这些文件中的一个可能包含您的其他卷,而第一个只是您的服务定义。您的第二个文件如下所示:
version: '3'
services:
name:
volumes:
- ${DIR1PATH}:/storage/${DIR1}
- ${DIR2PATH}:/storage/${DIR2}
- ${DIR3PATH}:/storage/${DIR3}
- ${DIR4PATH}:/storage/${DIR4}
compose中还有扩展字段,可用于定义值,然后使用yaml锚和别名来插入值。其中的一个示例在this presentation中。