作为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)读取这些变量。
test.py