Я пытаюсь запускать свои контейнеры в мезо и выводить все журналы в Cloudwatch. Согласно документации Docker, я должен передать в docker run следующее:
--log-driver=awslogs --log-opt awslogs-region=us-east-1 --log-opt awslogs-group=myLogGroup
(из https://docs.docker.com/engine/admin/logging/awslogs/#awslogs-region)
для запуска докера. Чтобы добиться этого с помощью Marathon (или Chronos, я полагаю?), Я должен добавить следующий блок в свой файл конфигурации json для моей задачи
"parameters": [
{ "key": "hostname", "value": "a.corp.org" },
{ "key": "volumes-from", "value": "another-container" },
{ "key": "lxc-conf", "value": "..." }
]
https://mesosphere.github.io/marathon/docs/native-docker.html
Похоже, что эта конфигурация добавляет к вашему запуску докера следующее:
--{key}={value}
Так как мне нужно сделать что-то вроде «--log-opt awslogs-region = us-east-1», я добавляю «key»: «log-opt awslogs-region», «value»: «us-east -1 ", который правильно генерирует команду запуска докера, как я могу видеть из stderr в мезо. Однако затем я получаю сообщение об ошибке
unknown flag: --log-opt awslogs-region
See 'docker run --help'.
Запуск сгенерированной команды запуска докера из stderr непосредственно на подчиненном сервере mesos работает нормально.