我想要为我的服务添加一个卷,但只有在最终用户提供了一个文件夹时才添加。否则不应挂载任何卷,因为已准备好的映像文件在默认文件夹中具有有效数据。
也就是说,我想做类似以下的操作(伪代码):
services:
my_awesome_service:
volumes:
if ${VARIABLE} => ${VARIABLE}:/app/folder
这种条件语句可以在docker-compose文件中定义吗?
我唯一能想到的方法是首先定义一个没有卷挂载的基础docker-compose文件,然后仅当$VARIABLE
被定义时才调用第二个docker-compose文件。对于单个或少量条件来说这是可行的,但如果有很多条件就会变得复杂。
有什么解决方法吗?
yq
是一个 Linux 命令行工具(以及 Python 模块),它具有在原地编辑 YAML 文件的选项。只需一行更改您的文件 https://kislyuk.github.io/yq/ - grofte