【问题标题】:Can't discover docker container on user defined network无法在用户定义的网络上发现 docker 容器
【发布时间】:2016-02-16 16:05:43
【问题描述】:

自从我更新到 Docker 1.10 版后,我无法在用户定义的网络上找到其他容器。我无法 ping 连接到同一网络的新创建的容器。

我创建了一个名为“my_net”的网络。然后我创建一个带有标志的容器:“--net=my_net”并调用它:“first_container”。然后,当我为网络模式启动另一个具有相同标志的容器并启动对“first_container”的 ping 时,我收到错误消息:“bad message”。但是,如果我 ping 我可以从网络检查中读取的 IP 地址,我就可以 ping。

版本:

  • Docker 版本 1.10.0,构建 590d5108
  • CentOS Linux 版本 7.2.1511(核心)
  • 内核3.10.0-327.4.5.el7.x86_64

在下面的序列中你可以看到我在做什么。

[my_user@my_machine ] $ docker network create --driver bridge my_net
8df716599f5160cf049014711c746a225c637a9dea7cb1a788ec7463c3273e4e
[my_user@my_machine ] $ docker network ls
NETWORK ID          NAME                DRIVER
4b868a0b1e5c        none                null
0cfa087db0fc        host                host
8df716599f51        my_net              bridge
b7665552cf83        bridge              bridge
[my_user@my_machine ] $ docker run -d --name first_container --net=my_net busybox top
750547995a2e515f51d93392d08f4e61d1841be452ad4e4139b5ba13148eee29
[my_user@my_machine ] $ docker network inspect my_net
[
    {
        "Name": "my_net",
        "Id": "8df716599f5160cf049014711c746a225c637a9dea7cb1a788ec7463c3273e4e",
        "Scope": "local",
        "Driver": "bridge",
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1/16"
                }
            ]
        },
        "Containers": {
            "750547995a2e515f51d93392d08f4e61d1841be452ad4e4139b5ba13148eee29": {
                "Name": "first_container",
                "EndpointID": "a7fb91ac1b934370699a3f916b6f56c0f81d262a6c2610e9f9ec86cded199bef",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {}
    }
]
[my_user@my_machine ] $ docker run --rm --net=my_net busybox cat /etc/hosts
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.18.0.3      c2da8f1556e8
[my_user@my_machine ] $ docker run --rm --net=my_net busybox ping -c1 first_container
ping: bad address 'first_container'
[my_user@my_machine ] $ docker run --rm --net=my_net busybox ping -c1 172.18.0.2
PING 172.18.0.2 (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: seq=0 ttl=64 time=0.181 ms

--- 172.18.0.2 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.181/0.181/0.181 ms
[my_user@my_machine ] $

谁能帮帮我?

【问题讨论】:

  • 当我今天再次尝试时,它成功了。所以我猜这个案子已经结案了。

标签: linux networking docker docker-networking


【解决方案1】:

您能否检查重新启动 Docker 服务是否解决了问题sudo service docker restart?另外,您能否在执行ping 命令时检查first_container 是否正在运行?我已经能够按照您的步骤成功执行 ping 操作。我已经使用Docker version 1.10.0, build 590d5108Docker version 1.10.1, build 9e83765 进行了测试。

【讨论】:

  • 您好,感谢您的回答。我正在运行“Docker 版本 1.10.0,构建 590d5108”(在 CentOS Linux 版本 7.2.1511(核心)上)。我试过几次重启服务。 “first_container”正在运行,我可以使用它的 ip (172.18.0.2) ping 它。所以这只是关于名称解析。
猜你喜欢
  • 2021-03-07
  • 2020-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多