我在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",
答案 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/
希望这有帮助。