3

我正在尝试在托管 ECS 容器的 EC2 实例中设置环境变量。EC2 实例上的 docker 客户端在运行时应该可以读取环境变量。我知道可以像这样添加 userData:

#!/bin/sh
echo export env_var=1 >> /etc/environment

但是由于某种原因,在实例化 ECS 任务时,docker 客户端没有拾取这个 env_var。

知道我该怎么做吗?提前致谢。

4

2 回答 2

0

您只是添加环境变量吗?然后尝试以下

  1. 在 Dockerfile 中添加变量

    ARG 开发

    环境开发=${开发}

  2. 构建 docker 镜像时添加变量

    码头工人建造。-t 项目名称 --build-arg DEV=False

于 2017-09-01T04:47:57.830 回答
0

您可以在任务定义中定义环境变量,这些环境变量将使用 Docker 的--env选项传递到您的容器中。高级容器定义参数(向下滚动到“环境”)

"environment" : [
    { "name" : "string", "value" : "string" },
    { "name" : "string", "value" : "string" }
]

以下是它在完整任务定义中的外观的快速示例:

{
    "family": "example-task",
    "containerDefinitions": [
        {
            "name": "sample-app",
            "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/aws-nodejs-sample:v1",
            "memory": 200,
            "cpu": 10,
            "essential": true,
            "environment": [
                {
                    "name": "ENVIRONMENT",
                    "value": "production"
                },
                {
                    "name": "API_HOST",
                    "value": "https://example.com"
                }
            ],
        }
    ]
}
于 2017-09-30T16:06:13.413 回答