【发布时间】:2020-03-18 14:16:13
【问题描述】:
无法使用 docker-compose 和 Python docker image (python:3.7.5-stretch) 从操作系统环境中正确设置/获取包含“\”字符的转义字符串。
.env 文件:
VAR1=abc
VAR2=ABC\{DEFGHIJ
码头工人撰写文件
version: '3'
services:
python:
env_file:
- .env
...
来自 docker 的 python
>> print(os.environ["VAR1"])
'ABC'
>> print(os.environ["VAR2"])
'ABC\\{DEFGHIJ'
我做过的其他测试(.env => Python)
ABC\\{DEFGHIJ => ABC\\\\{DEFGHIJ
ABC\\\{DEFGHIJ => ABC\\\\\\{DEFGHIJ
'ABC\{DEFGHIJ' => "'ABC\\{DEFGHIJ'"
"ABC\{DEFGHIJ" => '"ABC\\{DEFGHIJ"'
'ABC\\{DEFGHIJ' => "'ABC\\\\{DEFGHIJ'"
【问题讨论】:
-
你确定你变成了不可重现的
'ABC\\{DEFGHIJ' -
@LinPy 不。它给了
"'ABC\\\\{DEFGHIJ'"。有趣的是,它在 Ubuntu 18 上运行良好,但在 Ubuntu 16 上却给出了如此奇怪的结果。 -
你需要提供你所做的确切步骤,它适用于我使用 python:latest
标签: python docker environment-variables