Minidcos: Невозможно обмениваться данными между контейнерами Docker, используя имена хостов - PullRequest
0 голосов
/ 10 апреля 2019

Я борюсь за связь между двумя контейнерами докеров, созданными minidcos с использованием имен хостов. Вот что я сделал:

Шаг 1: Создание новой сети Docker

$ docker network create minidcos

Шаг 2. Создание нового кластера minidcos:

$ minidcos docker create
  --docker-version 17.12.1-ce 
  --agents 4 
  --workspace-dir ./workspace
  --network minidcos 
  --genconf-dir ./custom-genconf 
  --verbose 
  ./dcos_generate_config.sh

Шаг 3: список контейнеров

$ docker ps

89d2861fd037        mesosphere/dcos-docker   "/sbin/init"        31 minutes ago      Up 31 minutes                           dcos-e2e-default-d67b8-public-agent-0
33d0c83c07d7        mesosphere/dcos-docker   "/sbin/init"        31 minutes ago      Up 31 minutes                           dcos-e2e-default-d67b8-agent-3
221e9ecd4464        mesosphere/dcos-docker   "/sbin/init"        31 minutes ago      Up 31 minutes                           dcos-e2e-default-d67b8-agent-2
ef7dbf33fc53        mesosphere/dcos-docker   "/sbin/init"        31 minutes ago      Up 31 minutes                           dcos-e2e-default-d67b8-agent-1
b1994b77dce0        mesosphere/dcos-docker   "/sbin/init"        31 minutes ago      Up 31 minutes                           dcos-e2e-default-d67b8-agent-0
dc46644e391e        mesosphere/dcos-docker   "/sbin/init"        31 minutes ago      Up 31 minutes                           dcos-e2e-default-d67b8-master-0

Шаг 4: Проверьте мою собственную сеть "minidcos"

$ docker network inspect minidcos
[
    {
        "Name": "minidcos",
        "Id": "b105cbfe91228334b52406a2ccf53c2fdfc085b5030b9203684dd78a44f67d1c",
        "Created": "2019-04-10T14:06:03.493606395+02:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.19.0.0/16",
                    "Gateway": "172.19.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "221e9ecd44648e5729d00b1d3fb5c677c499c3a181b06f76656e4404dca4ebca": {
                "Name": "dcos-e2e-default-d67b8-agent-2",
                "EndpointID": "073b3b6a35b555463893daf271cf2de367205ab0826fbbf82d6be46367d4d9f9",
                "MacAddress": "02:42:ac:13:00:05",
                "IPv4Address": "172.19.0.5/16",
                "IPv6Address": ""
            },
            "33d0c83c07d7abe49fbdbacff68027e0f162ccf66fb348b3df8fa28216872d3d": {
                "Name": "dcos-e2e-default-d67b8-agent-3",
                "EndpointID": "e8ac563a652f5d69a740a75e1a9ba374ab648698d8d0e449abc23eed2b3f6359",
                "MacAddress": "02:42:ac:13:00:06",
                "IPv4Address": "172.19.0.6/16",
                "IPv6Address": ""
            },
            "89d2861fd037a5dce81fa0079d445531328cc1b22650c80add5bf72c985dce0b": {
                "Name": "dcos-e2e-default-d67b8-public-agent-0",
                "EndpointID": "6e5cd6d75bd96922ea1e98360520849e1b459948fe68fbba5b4a7e7d5a8db68d",
                "MacAddress": "02:42:ac:13:00:07",
                "IPv4Address": "172.19.0.7/16",
                "IPv6Address": ""
            },
            "b1994b77dce008ef5c28f634ad14cfcbb69dc6c14ee530a784533ad09c9f8d58": {
                "Name": "dcos-e2e-default-d67b8-agent-0",
                "EndpointID": "4adc52ff6a64afd79d33c9b40559c9ff4c5086f12d7c82d26206ab876908b84e",
                "MacAddress": "02:42:ac:13:00:03",
                "IPv4Address": "172.19.0.3/16",
                "IPv6Address": ""
            },
            "dc46644e391e4e9cc2978c534ab9eae91db31cff3f3d06e54a4870049fe080ab": {
                "Name": "dcos-e2e-default-d67b8-master-0",
                "EndpointID": "9460ea8a07722d5de337ad8375f452218b54462b5e1a98def7590725415fa09a",
                "MacAddress": "02:42:ac:13:00:02",
                "IPv4Address": "172.19.0.2/16",
                "IPv6Address": ""
            },
            "ef7dbf33fc53d06ada2a29a6637c22a294263182a060a4ef35db365dd2fbaf17": {
                "Name": "dcos-e2e-default-d67b8-agent-1",
                "EndpointID": "228253db88795489a228bf9da7132475f4146b357dabff43ca6d009072e864ee",
                "MacAddress": "02:42:ac:13:00:04",
                "IPv4Address": "172.19.0.4/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

Теперь, насколько я понимаю, я должен быть в состоянии пропинговать каждый контейнер по его имени хоста. Но это не работает по какой-то причине. Например я не могу пинговать dcos-e2e-default-d67b8-agent-0 с dcos-e2e-default-d67b8-agent-1:

[root@dcos-e2e-default-d67b8-agent-1 /]# ping dcos-e2e-default-d67b8-agent-0
ping: dcos-e2e-default-d67b8-agent-0: Name or service not known

Почему это? Возможно, DC / OS мешает докеру разрешать имена хостов?

Обновление

Я добавил еще один контейнер fedora в ту же сеть "minidcos", используя docker create. Из этого контейнера я могу пропинговать все другие контейнеры по его имени хоста. Думаю, это действительно DC / OS нарушает разрешение имени хоста ...

...