docker启动nginx服务后浏览器访问不到的解决全过程
作者:yutao99
文章介绍了在Docker中启动Nginx镜像的三种方法,并解释了端口映射的重要性,通过比较三种方法,作者指出正确设置端口号是关键,以确保Nginx容器能够被浏览器访问
docker中启动nginx镜像
- 方法一:直接创建并启动
docker run -it --name nginx1 -p 80:80 nginx:latest
- 方法二:直接创建并启动
docker run -it --name nginx2 nginx:latest
- 方法三:先创建,再启动
docker create -it --name nginx3 -p 8080:80 nginx:latest docker start nginx3
访问docker中的nginx方法
虚拟机的IP 地址是:172.16.164.130
使用命令查看容器nginx2的ip地址
docker inspect nginx2

- 方法A:
直接请求nginx2容器的ip
curl http://172.17.0.2 或 curl -I http://172.17.0.2
- 方法B:
浏览器中输入172.16.164.130(虚拟机的ip)
如何才能再浏览器中访问到172.16.164.130中的nginx
能否在浏览器中访问到nginx与nginx镜像的创建方法有关
创建nginx的三种方法使用方法A均可请求成功

但是使用方法二创建的镜像可能不能使用浏览器访问成功

现在将三个镜像都启动

可以发现nginx1和nginx3这两个容器均有端口映射,而nginx2没有,这就是nginx2不能被浏览器访问的原因
- 172.16.164.130:80/ --- nginx1访问成功

- 172.16.164.130:8080/ --- nginx3访问成功

因此大家创建镜像时一定要注意端口号的设置。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
