Добавить переменную среды на хост ECS
Я пытаюсь установить переменную среды в экземпляре EC2, в котором размещаются контейнеры ECS. Переменная среды должна быть доступна для чтения клиенту Docker на экземпляре EC2 во время выполнения. Я знаю, что можно добавить userData следующим образом:
#!/bin/sh
echo export env_var=1 >> /etc/environment
Но по какой-то причине этот env_var не воспринимается докером-клиентом при создании экземпляров задач ECS.
Есть идеи, как мне это сделать? Заранее спасибо.
2 ответа
Вы просто добавляете переменные окружения? Затем попробуйте следующее
Добавить переменную в Dockerfile
АРГ ДЕВ
ENV DEV=${DEV}
Добавить переменную при сборке образа докера
сборка докера. -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"
}
],
}
]
}