【问题标题】:Single instance of a marathon application creates multiple docker containers马拉松应用程序的单个实例创建多个 docker 容器
【发布时间】:2020-01-14 06:43:38
【问题描述】:

我在运行 macos 的 mbp 上的以下本地设置中遵循了示例 json app cfg @ https://mesosphere.github.io/marathon/docs/native-docker.html#bridged-networking-mode将实例计数修改为 1 而不是 2)-

  • mesos-1.9.0(下载源代码并在本地构建
  • zookeeper-3.4.8(与上面的 mesos-1.9.0 打包为 3rd 方框架
  • marathon-1.5.0-96(从 mesosphere github 下载源代码并在本地构建

通过 single 桥接 python webapp 实例,我观察到创建了 多个 docker 容器。

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                                             NAMES
120bf164b817        python:3            "/bin/sh -c 'python3…"   20 seconds ago       Up 19 seconds       0.0.0.0:31532->161/udp, 0.0.0.0:31531->8080/tcp   mesos-eb3765bb-2c98-4cdf-8dbe-95ef33bdd58b
eee64f6d845b        python:3            "/bin/sh -c 'python3…"   About a minute ago   Up About a minute   0.0.0.0:31733->161/udp, 0.0.0.0:31732->8080/tcp   mesos-c17f8df0-f7a3-4352-a266-c2bf74c211fa
5dc28a7457e2        python:3            "/bin/sh -c 'python3…"   2 minutes ago        Up 2 minutes        0.0.0.0:31811->161/udp, 0.0.0.0:31810->8080/tcp   mesos-d44f0ff6-73a1-4609-bc9a-2a32330fc37e

我认为这不是预期的行为,对于单个马拉松应用程序实例,应该只创建 1 个 docker 容器。

如果我的观察正确或正确理解,请帮我解决这个问题。

TIA。

【问题讨论】:

    标签: mesos marathon


    【解决方案1】:

    我假设您可以使用约束的唯一运算符。 https://mesosphere.github.io/marathon/docs/constraints.html

    例如:

        $ curl -X POST -H "Content-type: application/json" localhost:8080/v2/apps -d '{
        "id": "sleep-unique",
        "cmd": "sleep 60",
        "instances": 3,
        "constraints": [["hostname", "UNIQUE"]]
      }'
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    相关资源
    最近更新 更多