Передача параметров Docker Run в Mesos / Marathon / Chronos

Я пытаюсь запускать свои контейнеры в мезо и выводить все журналы в 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 работает нормально.


person Alan Hughes    schedule 02.10.2017    source источник


Ответы (1)


Вы можете использовать параметр args для передачи настраиваемых параметров запуска докера,

"args": ["--log-driver", "awslogs"]

person Radhika    schedule 20.01.2020