我可以将传递给docker映像的参数映射到python中的env变量吗?
我有一个python应用程序,我正在为该应用程序创建docker映像。示例(下面的docker文件)。我想在aws ec2或aws批处理作业中运行容器。我可以在运行docker容器时传递一些参数,以便它可以传递给我的python应用程序,并且应用程序可以在运行时使用这些值。是否可以在启动批处理作业时传递参数,该参数可以映射到我的应用程序中定义的某些环境变量我可以将传递给docker映像的参数映射到python中的env变量吗?,python,docker,aws-batch,Python,Docker,Aws Batch,我有一个python应用程序,我正在为该应用程序创建docker映像。示例(下面的docker文件)。我想在aws ec2或aws批处理作业中运行容器。我可以在运行docker容器时传递一些参数,以便它可以传递给我的python应用程序,并且应用程序可以在运行时使用这些值。是否可以在启动批处理作业时传递参数,该参数可以映射到我的应用程序中定义的某些环境变量 FROM python:3.7 ADD test.py / RUN pip install ... CMD [ "pytho
FROM python:3.7
ADD test.py /
RUN pip install ...
CMD [ "python3", "./test.py" ]
是否可以在启动批处理作业时传递参数,即
可以映射到我的应用程序中定义的一些环境变量
什么时候可以确定为什么需要使用参数映射应用程序环境变量
您可以在中设置环境变量,并在python应用程序中使用这些变量
下面的配置类似于docker run-it-e BATCH\u FILE\u S3\u URL=“S3://my BATCH scripts/myjob.sh”
在作业定义中设置环境变量
{
"containerProperties": {
.
.
.
"environment": [
{
"name": "BATCH_FILE_S3_URL",
"value": "s3://my-batch-scripts/myjob.sh"
},
{
"name": "BATCH_FILE_TYPE",
"value": "script"
}
]
}
在python应用程序中
S3_URL=os.getenv('BATCH_FILE_S3_URL')
# S3_URL will be `s3://my-batch-scripts/myjob.sh`
谢谢如果这听起来多余,我道歉。一旦我们设置了作业定义,使用docker映像和您所示的环境变量,我们实际上不需要docker run命令,对吗?是的,您可以使用不需要tu override run命令的环境变量。