Python 3.x 如何将环境变量存储在dockerfile或docker compose.yaml中,其值是从部署环境变量的操作系统获取的?

Python 3.x 如何将环境变量存储在dockerfile或docker compose.yaml中,其值是从部署环境变量的操作系统获取的?,python-3.x,docker,docker-compose,environment-variables,dockerfile,Python 3.x,Docker,Docker Compose,Environment Variables,Dockerfile,我想在我的应用程序中使用一些在docker容器上运行的环境变量。如何在代码中获取这些环境变量 如果我使用dockerfile或docker compose yaml,那么如何将其导出以从最终运行它的操作系统读取值,以及如何在代码中读取它 例如,如果我在AWS实例上运行docker,我需要实例中的AWS密钥用于我的容器化应用程序。对于docker compose: 在与docker compose.yml相同的目录中创建一个.env文件 例如,对于包含内容的.env文件: DOCKER_IMAGE

我想在我的应用程序中使用一些在docker容器上运行的环境变量。如何在代码中获取这些环境变量

如果我使用dockerfile或docker compose yaml,那么如何将其导出以从最终运行它的操作系统读取值,以及如何在代码中读取它

例如,如果我在AWS实例上运行docker,我需要实例中的AWS密钥用于我的容器化应用程序。

对于docker compose:

在与docker compose.yml相同的目录中创建一个
.env
文件

例如,对于包含内容的.env文件:

DOCKER_IMAGE_NAME=docker_image_here
POSTGRES_PASSWORD=POSTGRES_PASSWORD_HERE
然后,您可以访问docker-compose.yml文件中的变量:

service-name:
  web:
  image: ${IMAGE_NAME}
  environment:
    postgres_password: "${POSTGRES_PASSWORD}"

创建
.env
文件并访问docker compose.yaml中所需的变量?请注意,如果您使用的是标准AWS SDK之一,并且您的实例绑定了IAM角色,则可以通过EC2元数据服务获取凭据,而无需设置任何环境变量(即使您在容器中运行)。