Python 从ECS公共IPv4端点访问容器化Django应用程序

Python 从ECS公共IPv4端点访问容器化Django应用程序,python,django,amazon-web-services,docker,Python,Django,Amazon Web Services,Docker,我有一个停靠的django应用程序,它存储在ECR中。当我使用Fargate设置一个新的ECS集群时,这个映像加载正确,我可以在Cloudwatch中看到日志: 但是,当我访问任务网络详细信息下列出的公共ipv4,并在浏览器中转到:8000时,没有加载任何内容,并且在cloud watch的容器中看不到任何到服务器的请求 我想知道这个问题是否与使用: python manage.py runserver 0.0.0.0:8000在我的容器设置中,或者在安全组中设置,等等。 但我已经在设置中允许入

我有一个停靠的django应用程序,它存储在ECR中。当我使用Fargate设置一个新的ECS集群时,这个映像加载正确,我可以在Cloudwatch中看到日志:

但是,当我访问任务网络详细信息下列出的公共ipv4,并在浏览器中转到:8000时,没有加载任何内容,并且在cloud watch的容器中看不到任何到服务器的请求

我想知道这个问题是否与使用: python manage.py runserver 0.0.0.0:8000在我的容器设置中,或者在安全组中设置,等等。 但我已经在设置中允许入站流量达到127.0.0.1和0.0.0.0端口8000


我有点不知所措,因为我查阅了各种文档,我的配置设置似乎与之类似。

检查AWS Fargate控制面板中的此特定容器定义是否具有正确的端口映射。
在您的情况下,您需要映射到端口:8000,因为您的应用程序正在该端口上侦听。另外,您需要在一个容器中创建应用程序,该容器正在侦听0.0.0.0,不是127.0.0.1,至少从日志端口我可以看到您将其绑定到127.0.0.1

如果您的容器在bridge mod中运行,则需要将主机端口映射到容器端口,如docker run-p:8000。要在浏览器上将其作为公共ip:port查看,您必须在fargate中执行类似的配置

20:12:21 Operations to perform:
20:12:21 Apply all migrations: admin, auth, contenttypes, sessions
20:12:21 Running migrations:
20:12:21 No migrations to apply.
20:12:23 No changes detected
20:12:25 Watching for file changes with StatReloader
20:12:25 Performing system checks...
20:12:25 System check identified no issues (0 silenced).
20:12:26 June 22, 2019 - 20:12:26
20:12:26 Django version 2.2.2, using settings 'config.settings'
20:12:26 Starting development server at http://127.0.0.1:8000/
20:12:26 Quit the server with CONTROL-C.