Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 无法在web浏览器中访问NGINX docker容器_Linux_Amazon Web Services_Docker_Devops - Fatal编程技术网

Linux 无法在web浏览器中访问NGINX docker容器

Linux 无法在web浏览器中访问NGINX docker容器,linux,amazon-web-services,docker,devops,Linux,Amazon Web Services,Docker,Devops,我已经部署了这个docker容器 docker container run -d -p 8080:80 --name my-nginx2 --network my-net nginx:latest 当我执行curl localhost:8080时,我能够访问它。但是,当我输入我的:8080时,它不起作用。我无法在web浏览器上访问它 我正在AWS上运行red hat 8 ec2实例。我的安全组看起来像这样。我不确定这是否与SG有关 如果您有任何问题,请告诉我。 谢谢。根据您共享的图像,您只允

我已经部署了这个docker容器

docker container run -d -p 8080:80 --name my-nginx2 --network my-net nginx:latest
当我执行
curl localhost:8080
时,我能够访问它。但是,当我输入我的
:8080
时,它不起作用。我无法在web浏览器上访问它

我正在AWS上运行red hat 8 ec2实例。我的安全组看起来像这样。我不确定这是否与SG有关

如果您有任何问题,请告诉我。

谢谢。

根据您共享的图像,您只允许在端口80和22上进行通信

当您使用
-p:8080:80
选项执行docker run命令时,您基本上是在告诉您的实例侦听8080并将流量转发到端口80上的容器

您有两个选择:
使用
-p80:80
选项启动容器,因此端口80已被允许,然后尝试在
:80


第二个选项是添加防火墙规则,以允许在端口
8080
上进入,然后在浏览器中访问您的web应用,网址为
:8080

,每次需要公开端口时,我都需要创建入站安全组规则,允许流量与该端口通信,对吗?是的
-p:
在您的实例上创建DNAT规则,基本上将
实例:
上的所有内容转发到
容器:
。VPC防火墙是独立的,必须允许端口上实例的入站流量。欢迎使用。