我可以将传递给docker映像的参数映射到python中的env变量吗?

我可以将传递给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

我有一个python应用程序,我正在为该应用程序创建docker映像。示例(下面的docker文件)。我想在aws ec2或aws批处理作业中运行容器。我可以在运行docker容器时传递一些参数,以便它可以传递给我的python应用程序,并且应用程序可以在运行时使用这些值。是否可以在启动批处理作业时传递参数,该参数可以映射到我的应用程序中定义的某些环境变量

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命令的环境变量。