作为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变量并传递动态值?

最佳答案

在您的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的更多信息

关于python - Docker ENV for Python变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49770999/

10-10 00:03
查看更多