docker-compose 环境变量字符怎么原样输出

2021-12-14 11:04:46 +08:00
 toyst
    environment:
      - PASSWORD=589];)tjjLkuolULJK#4$v6v57

提示报错:WARNING: The v6v57 variable is not set. Defaulting to a blank string.

怎么在不改变字符串的情况下原样输出呢

双引号,单引号都尝试过不行

1470 次点击
所在节点    Docker
4 条回复
Trim21
2021-12-14 11:21:32 +08:00
$$
dolphintwo
2021-12-14 11:22:48 +08:00
测试了下,他只是个 warning ,不信你进去 echo 看看,(学到了
muzuiget
2021-12-14 11:37:27 +08:00
environment 要求是字符串数组。

```
environment:
- 'PASSWORD=589];)tjjLkuolULJK#4$v6v57'
```

我是 YAML 黑,YAML 就一垃圾格式,所以我用 JSON:

```
"environment": [
"PASSWORD=589];)tjjLkuolULJK#4$v6v57"
]
```

清晰,一目了然。
Trim21
2021-12-14 11:58:49 +08:00
问题在于 docker-compose 支持字符串里面插环境变量,所以会把字符串里$特殊处理。为了输入原本的$符号需要用$$转义掉$。

如果你把$放在字符串最后(比如正则)还会直接报 compose 文件语法错误的问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/822067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX