Я запускаю один контейнер Docker на эластичном бобовом стебле, используя его Single Container Docker Configuration, и пытается отправить приложение stdout приложения в CloudWatch с помощью awslogs logging driver.Elastic Beanstalk Single Container Docker - использовать драйвер регистрации журналов awslog
EB ищет файл Dockerrun.aws.json для конфигурации контейнера, но, насколько я вижу, не имеет возможности использовать awslogs в качестве драйвера регистрации контейнера (или добавить любые другие флаги в docker run
команда в этом отношении).
Я пытался взломом команды docker run
используя ответ при условии here, путем добавления файла .ebextensions/01-commands.config
с содержанием:
commands:
add_awslogs:
command: 'sudo sed -i "s/docker run -d/docker run --log-driver=awslogs --log-opt awslogs-region=eu-west-2 --log-opt awslogs-group=dockerContainerLogs -d/" /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh'
Это работает, в том смысле, что он изменяет сценарий запуска и журналы показывают в CloudWatch.
Но приложение EB умирает. Контейнер вверх, но не отвечает на запросы.
я нахожу следующее сообщение об ошибке в журнале контейнера:
"журналы" команда поддерживается только для "JSON-файл" и "journald" каротажного водителей (получил: awslogs)
Я нахожу ответы на похожие вопросы, касающиеся ECS (не EB), предлагая добавить ECS_AVAILABLE_LOGGING_DRIVERS с awslogs. Но я не нашел эту конфигурацию в EB.
Любые мысли?