我有一个运行如下的docker映像:
docker run -d --net=host -p 8080:8080 <image_name>
我有一个运行在端口8080上的Web服务器,它与--net = host一起确保我可以从docker主机上的客户端运行测试到该服务器。
现在,我正在尝试将其部署在Amazon Fargate服务器上。我将docker映像上传到服务器上,并尝试执行上述操作。 但是看来这行不通。
我做了什么:
创建了一个在TCP上为所有IP打开了端口8080的安全组。我想这应该确保包括http在内的所有流量都应通过此端口。该安全组的出站流量对所有IP /端口均开放。我还打开了icmp端口,以确保能ping通。
我还在容器定义中为端口转发配置了上述端口号8080。
我还添加了一个docker标签,如下所示:键:--net,值:host。
然后我使用此任务定义创建一个任务。通过执行此任务后获得的公共IP,我尝试从Postman访问Web服务器。但是,看起来它根本无法访问该服务器/端口。我总是收到超时请求。
我知道服务器可以访问,因为我可以成功ping它。但是由于某种原因,我得到了这个错误。 我还检查了Fargate日志,并验证了服务器应用程序已启动并正在运行。
一些问题在这里: 1.我在打开端口号时做了什么?这是正确的方法吗?
由于Fargate容器机器本身已启动(可以ping通)并且应用程序也已启动(从日志中),我认为以上两点可能解决了此问题。
我可能错过的任何东西。请建议。
还有,还有一种方法来查看Fargate容器启动时执行的确切docker命令吗?
提前谢谢。