繁体   English   中英

如何使用 dockerfile 在 python 脚本中设置环境变量?

[英]How do I set environment variables in a python script using a dockerfile?

我正在尝试从 docker 容器运行一个简单的 hello world 程序。 我想要做的是显示我传递给环境变量的自定义消息。 如果没有将任何内容传递给环境变量,那么程序应该只显示一条默认消息“Hello World.”。 我已经在我的 dockerfile 中创建了一个环境变量,我正在尝试使用 --env-file 标志在我的环境变量文件中覆盖该变量,但是。 我不确定设置环境变量的正确语法是什么,因为我得到“无效的语法”。

以下是我的文件:

Dockerfile

FROM python:3
ADD main.py /
ENV MESSAGE "Hello World!"
CMD ["python3", "./main.py"]

env_file

MESSAGE="Goodbye World!"

主文件

# simple hello world program
print($MESSAGE)

这就是我构建和运行容器的方式

docker build -t example -f Dockerfile .
docker run --env-file=env_file --rm --name example example

将您的main.py更改为:

import os

print(os.environ['MESSAGE'])

不支持在 Python 中使用$访问环境变量,这也是无效的 Python 语法。

请注意,如果没有这样的环境变量,这将引发异常,因此您可能需要使用os.environ.get('MESSAGE')并检查None或在这种情况下进行一些错误处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM