一尘不染

Docker ENV for Python变量

flask

作为python和docker的新手,我创建了一个小flask应用程序(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变量并传递动态值?


阅读 760

收藏
2020-04-06

共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)读取这些变量。

2020-04-06