Minidcos: Cannot communicate between docker containers using hostnames

88 Views Asked by At

I'm struggling communicating between two docker containers created by minidcos using hostnames. Here is what I did:

Step 1: Creating a new docker network

$ docker network create minidcos

Step 2: Creating a new minidcos cluster:

$ 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

Step 3: List containers

$ 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

Step 4: Verify my custom "minidcos" network

$ 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": {}
    }
]

Now for what I understand, I should be able to ping each container by it's hostname. But this does not work for some reason. For example I cannot ping dcos-e2e-default-d67b8-agent-0 from 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

Why is that? Is it probably DC/OS preventing docker to resolve hostnames?

Update

I added another plain fedora container to the same "minidcos" network using docker create. From within this container I'm able to ping all other containers by it's hostname. Guess it's indeed DC/OS breaking hostname resolution...

0

There are 0 best solutions below