Amazon web services 调用运行在AWS EC2上的容器
我有一个Linux EC2,里面运行docker。 Docker正在运行3个服务。2个是工人,1个是API 我希望能够从系统外调用该API,但我得到“无法访问此站点”。 服务正在运行,调用是一个简单的Amazon web services 调用运行在AWS EC2上的容器,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我有一个Linux EC2,里面运行docker。 Docker正在运行3个服务。2个是工人,1个是API 我希望能够从系统外调用该API,但我得到“无法访问此站点”。 服务正在运行,调用是一个简单的ping,它通过VS在本地工作,因此我认为这不是问题所在 我的安全组具有0.0.0.0/0允许的所有通信量 我尝试了以下URL,但没有成功: http://ec2-{public ip}.ap-southerast-2.compute.amazonaws.com/ping http://{publ
ping
,它通过VS在本地工作,因此我认为这不是问题所在
我的安全组具有0.0.0.0/0
允许的所有通信量
我尝试了以下URL,但没有成功:
http://ec2-{public ip}.ap-southerast-2.compute.amazonaws.com/ping
http://{public ip}/ping
http://{public ip}/172.17.0.2/ping(容器ip地址)
因此,要将容器中的端口80公开给实例,必须使用
-p80:80
选项。容器正在侦听端口80?另外,如果您从实例中curl localhost
,它是否工作?不,它是“连接被拒绝”的,但我在docker文件中公开了80,因此假设这样做EXPOSE
本身不会公开任何内容。当您运行容器时,您必须使用-p80:80
选项显式地允许它。啊,是的,这是有效的。谢谢@MarcinPerfect。着手