Docker compose args返回linux命令
我尝试使用linux命令的输出作为示例,为docker compose设置参数:Docker compose args返回linux命令,docker,docker-compose,Docker,Docker Compose,我尝试使用linux命令的输出作为示例,为docker compose设置参数: args: ID_GITLAB: $(id -u $USER) 但当我运行compose时,会出现以下错误: ERROR: Invalid interpolation format for "build" option in service "gpc-fontes-ci": "$(id -u $USER)" 照办 USER_ID=$(id -u $USER) docker-compose 使用正则变
args:
ID_GITLAB: $(id -u $USER)
但当我运行compose时,会出现以下错误:
ERROR: Invalid interpolation format for "build" option in service "gpc-fontes-ci": "$(id -u $USER)"
照办
USER_ID=$(id -u $USER) docker-compose
使用正则变量编写文件
args:
ID_GITLAB: $USER_ID
您需要用另一个$转义$字符,例如
命令也是一样的规则
请参阅:
当配置需要文字美元符号时,可以使用$$双美元符号。这还可以防止Compose插入值,因此$$允许您引用不希望Compose处理的环境变量
例如:
web:
build: .
command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE"
我认为您不能在Compose中调用shell函数。你从哪里知道你可以?可能是
web:
build: .
command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE"