[英]Docker - cant ping from mac to a machine from host - ping timeout
我在mac siera下使用netwok橋進行波紋管配置。
我檢查了docker給我的mahcine(172.20.0.5)的ipaddress。
但是,當我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"
UPDATE
這就是我發現IP地址的方式
a-mac$ docker inspect docker_nginx_server_1 | grep 172
"Gateway": "172.20.0.1",
"IPAddress": "172.20.0.5",
橋接網絡用於將容器與主機網絡隔離,這就是為什么主機與容器位於不同網絡上而無法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/
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.