我试图在mesos中运行容器并将所有日志输出到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)

到docker运行。为了使用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

似乎此配置将以下内容附加到您的docker run
--{key}={value}

由于我需要做某种形式的“--log-opt awslogs-region = us-east-1”,因此我要输入“key”:“log-opt awslogs-region”,“value”:“us-east -1”,可以正确生成docker run命令,正如我在mesos中的stderr中看到的那样。但是,我然后收到一条错误消息:
unknown flag: --log-opt awslogs-region
See 'docker run --help'.

直接在mesos从属服务器上从stderr运行生成的docker run命令可以正常工作。

最佳答案

您可以使用args参数传递自定义docker run选项,

“参数”:[
“--log-driver”,
“awslogs”
]

关于docker - 将 'Docker Run'选项传递给Mesos/Marathon/Chronos,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46525848/

10-11 22:35
查看更多