linux下docker啓動nginx沒法訪問80端口

問題:linux

Linux安裝了docker,docker啓動了一個nginx容器,經過 80 端口沒法正常訪問nginx

故障排查:docker

一、檢查 nginx 容器啓動的命令或者yaml文件,查看是否有跟本機端口進行綁定vim

啓動nginx容器的時候,須要將本地的80端口(其餘端口同理)跟nginx容器80端口(也能夠是其餘端口綁定)進行綁定,這樣的話訪問本地80端口才能正常跳轉到nginx容器對應的端口安全

二、容器啓動以後,運行:tcp

docker ps -a

查看容器的啓動狀態以及對應端口的綁定狀況spa

三、查看linux端口的使用狀況,運行:rest

netstat -ntlp

查看linux對應的端口(80端口)是否處理正常監聽的狀態code

四、查看防火牆,運行:blog

iptables -nvL

查看裏面是否有80端口,若沒有的話,進行4.一、4.2步驟

  4.一、查看linux上是否有/etc/sysconfig/iptables這個文件,有的話,vim進行修改,查看是否有80端口,沒有的話加上

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

  上面這行代碼放在 「-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT」 這一行以後就行,意思是暴露80端口

  修改完成以後,重啓下防火牆,運行:

service iptables restart

  4.二、可能部分 CentOs7 之後的 linux 機器沒有 /etc/sysconfig/iptables 這個文件的話,直接運行:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Tips:重啓iptables後,要重啓下docker,再啓動你的nginx容器

systemctl restart docker

五、如果雲主機,還要去看下ECS對應的安全組(出入網配置)中是否有對應的端口

相關文章
相關標籤/搜索