Docker - 无法从主机ping到机器 - ping超时

时间:2018-03-24 06:14:14

标签: docker

我在mac siera下有netwok桥的波纹管配置 我检查了ipaddress docker给了我的mahcine(172.20.0.5) 但是,当我ping 172.20.0.5我超时时 网关也会超时ping 172.20.0.5

version: "3.5"

networks:
  main:
    driver: bridge
    name : main 

services:
  nginx_client: 
    networks: main
    image: nginx
    ports:
      - "8080:80"

  nginx_server: 
    networks: main
    image: nginx
    ports:
      - "8081:80"

更新

这就是我发现ip地址的方式

a-mac$ docker inspect docker_nginx_server_1 | grep 172
                    "Gateway": "172.20.0.1",
                    "IPAddress": "172.20.0.5",

1 个答案:

答案 0 :(得分:1)

桥接网络用于将您的容器与主机网络隔离,这就是您无法从主机ping的原因,因为您的主机和容器位于不同的网络上。

如果您尝试以下命令,您会发现它有效:

docker run -it docker_nginx_server_1 ping 172.20.0.5

您还可以尝试以下命令来检查容器上公开的特定端口是否正常工作(假设端口为80):

telnet 172.20.0.5 80

要将容器中的端口绑定到主机,您可以执行以下操作:

docker run -d -p 80:80 docker_nginx_server_1

这会将容器的端口80绑定到主机的端口80,以便您可以从浏览器访问nginx服务器,如:

http://localhost

有关docker中网络的更多信息,请参阅以下链接:

https://docs.docker.com/network/

希望这有帮助。