Добавить переменную среды на хост ECS

Я пытаюсь установить переменную среды в экземпляре EC2, в котором размещаются контейнеры ECS. Переменная среды должна быть доступна для чтения клиенту Docker на экземпляре EC2 во время выполнения. Я знаю, что можно добавить userData следующим образом:

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

Но по какой-то причине этот env_var не воспринимается докером-клиентом при создании экземпляров задач ECS.

Есть идеи, как мне это сделать? Заранее спасибо.

2 ответа

Вы просто добавляете переменные окружения? Затем попробуйте следующее

  1. Добавить переменную в Dockerfile

    АРГ ДЕВ

    ENV DEV=${DEV}

  2. Добавить переменную при сборке образа докера

    сборка докера. -t имя_проекта --build-arg DEV=False

Вы можете определить переменные среды из определения задачи, которые будут переданы в ваш контейнер с помощью 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"
                }
            ],
        }
    ]
}
Другие вопросы по тегам