看来,我不理解一些有关变量替换下页(我的变量NUM
未注册):https://docs.docker.com/compose/compose-file/#variable-substitution搬运工组成的变量替换
见下图。在mac OSX上运行这个。
看来,我不理解一些有关变量替换下页(我的变量NUM
未注册):https://docs.docker.com/compose/compose-file/#variable-substitution搬运工组成的变量替换
见下图。在mac OSX上运行这个。
关于docker-compose
variable substitution,它可以依靠NUM
的设置方式。
set NUM=5
只会将其设置在当前shell中,而不是其他进程。
确保键入:
export NUM=5
它在docs提到:
可以使用$$(双美元符号)时,您的配置需要 文字美元符号。这也会阻止Compose插入 值,因此$$允许您引用您不希望由Compose处理的环境变量。
web: build: . command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE"
如果你忘记了,用一个美元符号($),撰写解释 值作为一个环境变量,并会向您发出警告:
的VAR_NOT_INTERPOLATED_BY_COMPOSE未设置。用一个空的 字符串替换。
根据的是,您撰写文件的行03应该是:
command: echo $$NUM
除了$$通过@艾曼 - nedjmeddine上面还需要提供解决方案做以下,使shell变量在撰写可有两种选择
选项1
选项2
sudo -E
从用户壳,-E
将传播用户壳ENV到须藤,:SETENV:
添加到sudoer文件中的命令中使用在须藤210选项如:
sudo visudo -f /etc/sudoers.d/docker-compose
ALL ALL=(ALL:ALL) NOPASSWD:SETENV: /usr/local/bin/docker-compose
sudo visudo -f /etc/sudoers.d/docker
ALL ALL=(ALL:ALL) NOPASSWD:SETENV: /usr/bin/docker
最后用
user1>export NUM=5
user1>sudo -E docker-compose up
什么泊坞窗和码头工人撰写的版本? –