linux - 无法在用户定义的网络上发现 docker 容器

标签 linux networking docker docker-networking

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

我创建了一个名为“my_net”的网络。然后我正在创建一个带有标志的容器:“--net=my_net”并调用它:“first_container”。然后,当我启动另一个具有相同网络模式标志的容器,并开始 ping 到“first_container”时,我收到错误消息:“错误消息”。但是,如果我 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 ] $

谁能帮帮我?

最佳答案

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

关于linux - 无法在用户定义的网络上发现 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35405543/

相关文章:

linux - Javafx 8 进度指示器未在 Ubuntu 中显示

linux - 如何使用 shell 脚本在空白文件的特定行号处添加行

java - Kryonet 可靠性

java - 如何等待来自 DockerClient.waitContainerCmd() 的 ResultCallback?

Ruby sysread IO 太慢了

python - 导入 pymorphy2 时出现异常

php - 我如何保护 Laravel 的/netdata 或 Netdata?

java - 通过互联网在两个 Android 设备之间建立直接 TCP/IP 网络

docker - 尽管尝试了所有 SOF 解决方案,但 Kubernetes 中的 MongoDb ImagePullBackOff 错误

docker - 如何为Docker容器正确指定IP