我已经部署了这个docker容器。
docker container run -d -p 8080:80 --name my-nginx2 --network my-net nginx:latest
当我执行 curl localhost:8080
时,我能够访问它。然而,当我输入我的 <public-address>:8080
它不工作。我无法在网络浏览器上访问它。
我正在 AWS 上运行 Red hat 8 ec2 实例。我的安全组是这样的。我不确定这是否与SG有关。
如果您有任何疑问,请告诉我。
谢谢。
最佳答案
根据您分享的镜像,您只允许端口 80 和 22 上的流量;
当您使用 -p :8080:80
执行 docker run 命令时选项,您基本上是在告诉您的实例监听 8080 并将流量转发到端口 80 上的容器;
您有两个选择:
使用 -p 80:80
启动容器选项,因此端口 80 已被允许,然后尝试在浏览器中访问您的网络应用程序 <instance-external-ip-address>:80
第二个选项是添加防火墙规则以允许端口 8080
进入然后在浏览器中访问您的网络应用程序 <instance-external-ip-address>:8080
关于linux - NGINX docker 容器无法在网络浏览器中访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63395385/