2

我安装了带有 3 个主机和 3 个代理的 DC/OS,但遇到了虚拟网络问题。这是我的马拉松应用规范:

{
  "id": "/nginx",
  "cmd": null,
  "cpus": 1,
  "mem": 128,
  "disk": 0,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "volumes": [],
    "docker": {
      "image": "nginx",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 80,
          "hostPort": 0,
          "servicePort": 10002,
          "protocol": "tcp",
          "name": "main1",
          "labels": {
            "VIP_0": "9.0.0.0:34562"
          }
        }
      ],
      "privileged": false,
      "parameters": [],
      "forcePullImage": false
    }
  },
  "portDefinitions": [
    {
      "port": 10002,
      "protocol": "tcp",
      "labels": {}
    }
  ]
}

我在 DC/OS 虚拟网络部分看到以下内容:

虚拟网络名称 | 子网 | 代理前缀长度

dcos 9.0.0.0/8 24

容器等待很长时间。如果我删除端口映射部分,它会成功运行。

基本上我需要知道如何使用这个新的虚拟网络,并在不使用任何额外内容的情况下修复服务发现和负载平衡。

4

1 回答 1

2

我也花了一些时间弄清楚...

你需要:

  • 删除任务定义中的所有端口分配
  • 描述要附加到的网络的名称(创建的默认网络名为“dcos”)

    {
        "id": "yourtask",
        "container": {
            "type": "DOCKER",
            "docker": {
                "image": "your/image",
                "network": "USER"
            }
        },
        "acceptedResourceRoles" : [
            "slave_public"
        ],
        "ipAddress": {
            "networkName": "dcos"
        },
        "instances": 2,
        "cpus": 0.2,
        "mem": 128
    }
    
于 2016-12-24T21:15:05.713 回答