用于 Python 变量的 Docker ENV

新手上路,请多包涵

作为 python 和 docker 的新手,我创建了一个小烧瓶应用程序 (test.py),它有两个硬编码值:

 username = "test"
password = "12345"

我能够创建一个 Docker 映像并从以下 Dockerfile 运行一个容器:

 FROM python:3.6

RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install -r requirements.txt

EXPOSE 5000
CMD ["python", "/code/test.py"]`

如何在运行容器时为用户名和密码创建 ENV 变量并传递动态值?

原文由 Abraham Dhanyaraj Arumbaka 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 340
1 个回答

在您的 python 代码中,您可以读取 env 变量,例如:

 import os
username = os.environ['MY_USER']
password = os.environ['MY_PASS']
print("Running with user: %s" % username)

然后,当您运行容器时,您可以设置这些变量:

 docker run -e MY_USER=test -e MY_PASS=12345 ... <image-name> ...

这将在容器中设置 env 变量,稍后将由 python 脚本读取这些变量( test.py

有关 os.environdocker env 的更多信息

原文由 urban 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题