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
现在再访问,成功进入前端项目主页
本文作者:Java挖坑工程师
本文链接:https://www.cnblogs.com/llysc/p/14827741.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
标签:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步