由于我更新到Docker1.10版,我无法在用户定义的网络上找到其他容器。我无法ping连接到同一网络的新创建容器。
我创建了一个名为“我的网络”的网络。然后我创建一个带有标记“--net=my_net”的容器,并将其命名为“first_container”。然后,当我用网络模式的相同标志启动另一个容器,并开始ping“first_container”时,我得到错误消息:“bad message”。但是,如果我ping可以从network inspect读取的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 ] $

有人能帮我吗?

最佳答案

你能检查一下重启Docker服务是否解决了这个问题吗?另外,您可以在执行sudo service docker restart命令时检查first_container是否正在运行吗?我已经能够按照你的步骤成功地做了一个ping。我已经用pingDocker version 1.10.0, build 590d5108测试过了。

09-04 01:04
查看更多