Docker內運行的nginx除了80端口其他端口都無法訪問


請檢查nginx容器是否只開啟了80端口映射!!!

請檢查nginx容器是否只開啟了80端口映射!!!

請檢查nginx容器是否只開啟了80端口映射!!!

 

環境:

  Docker: 19.03.13 運行在Linux

  Nginx: 1.19.4 運行在Docker

問題描述:

   作者的nignx配置了兩個server塊,分別監聽80端口與3000端口, 但是實際使用時發現本地電腦只能成功訪問80端口,訪問3000端口提示無法連接網絡;

在確保了Linux防火牆關閉的情況下排查了一圈,終於發現是nginx容器只開啟了80端口映射沒有開啟3000端口的映射。。。

 

解決方法:

  只需要將nginx容器重新配置下端口映射或者重新運行一個nginx容器即可;網上有很多教程,我在這里說一下我修改的方式:

 

1. 停止nignx容器
docker stop 你的nginx容器id或者名稱
如: docker stop nginx


2. 根據現在的nginx容器重新生成一個鏡像文件(數據不會丟失)
docker commit nginx(你的nginx容器id或者名稱) 新的容器名稱:tag
如: docker commit nginx nginx2:6.6


3. 啟動新的nginx容器
docker run -d -p 80:80 -p xx端口:xx端口 --name 容器名稱 新的nginx容器鏡像id/名稱
如: docker run -d -p 80:80 -p 3000:3000 --name nginx c89fa25e901e
使用數據券方式:
docker run -d -p 80:80 -p 3000:3000 --name nginx -v /usr/local/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /usr/local/project/:/usr/local/project/ c89fa25e901e

4. 移除舊的nginx容器(請先確保第三步的新容器成功運行再刪除舊容器)
docker rm 舊容器名稱
如: docker rm nginx 

 

 

現在再訪問,成功進入前端項目主頁

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM