由于我更新到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。我已经用ping
和Docker version 1.10.0, build 590d5108
测试过了。