【问题标题】:Passing 'Docker Run' Options to Mesos/Marathon/Chronos将“Docker Run”选项传递给 Mesos/Marathon/Chronos
【发布时间】:2020-01-20 14:50:34
【问题描述】:

我正在尝试在 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)

到码头运行。为了使用 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 slave 上运行从 stderr 生成的 docker run 命令可以正常工作。

【问题讨论】:

    标签: docker mesos marathon mesos-chronos


    【解决方案1】:

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

    “参数”:[ “--日志驱动程序”, “awslogs” ]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 2014-03-25
      相关资源
      最近更新 更多