我正在尝试使用linux命令的输出为docker compose设置arg
作为我的示例:
args:
ID_GITLAB: $(id -u $USER)
但是当我运行我的作品时,我得到以下错误:
ERROR: Invalid interpolation format for "build" option in service "gpc-fontes-ci": "$(id -u $USER)"
答案 0 :(得分:2)
只做
USER_ID=$(id -u $USER) docker-compose
使用常规变量
撰写Compose文件args:
ID_GITLAB: $USER_ID
答案 1 :(得分:0)
您需要用另一个$
来使$
字符转义,例如
args:
ID_GITLAB: $$(id -u $USER)
command
的规则相同。
当您的配置需要文字美元符号时,可以使用
$$
(美元符号)。这也可以防止Compose插值,因此$$
允许您引用您不想由Compose处理的环境变量。
例如:
web:
build: .
command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE"