[docker] docker啓動web服務端口,外部無法訪問

在學習docker的時候,碰到了這麼個問題,使用

docker run -p 80:80 -d nginx

啓動nginx,然後從外部訪問80端口,竟然無法訪問。

首先,我使用-p 80:80來對docker的端口和本機端口進行了映射,然後默認綁定的ip應該爲0.0.0.0,這些信息使用docker ps能夠查看到,如圖:
在這裏插入圖片描述
如果只綁定127.0.0.1的話,那麼外部便無法訪問了,只能被本地訪問到。

隨後,在本地使用curl 127.0.0.1查看是否能連上nginx,如果nginx在運行且端口也映射到了,一般是能夠訪問到的。
如果現在遠程訪問不到的話,1是查看本地防火牆是否關閉,可能會牆掉請求。2是編輯/etc/sysctl.conf文件,添加一行或者更改一行爲

net.ipv4.ip_forward=1

允許ipv4請求重定向到docker,然後重啓網絡服務

service networking restart 
或者
sysctl restart networking

一般就搞定了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章