2016-10-10 86 views
4

根据this comment,多行变量支持与docker compose如何将多行变量传递给码头集装箱?

environment: 
    KEY: |- 
    line1 
    line2 

然而,当我在容器中执行echo $KEY,它已替换为空格换行符:

line1 line2

上午我遗漏了什么?我的码头版本是1.12.1。

+0

如果你不在环境变量上使用双引号,'echo'总是在Linux/Unix下执行。这就是为什么你应该总是在他们周围使用引号(U&L网站上有很多与此相关的帖子,这与使用YAML无关:键映射条目的KEY值肯定有换行符) – Anthon

回答

4

YAML语法是正确的。 shell命令是不是:字符串以换行符

echo "$KEY"

打印。

2

一个前两天有同样的问题,并通过解决它:

KEY: "line1\nline2" 

希望在你的情况以及帮助。

+0

不幸的是,没有。结果仍写在一行上(如上)。 – giraff

+0

梅,甚至包裹在引号中? – notion

+0

是............等等...不!你是个天才! :-)你想把它添加到你的答案以备将来参考吗?其实我上面的语法在使用'echo“$ KEY”'时也是如此。 – giraff