我创建了一个ECS集群和任务定义,并设法为我的应用程序(ec2启动类型)启动了一个容器。但是,我无法访问列出的公共IP。
如何解决并解决此问题?谢谢!
编辑根据要求提供的更多信息:
curl localhost:PORT
起作用。ping <rds db endpoint>
失败。public-ip:PORT
失败。编辑2 :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa3dxxxxxxxx xxx/xxx:latest "docker-entrypoint.s…" 23 minutes ago Up 23 minutes 3010/tcp xxx
9766yyyyyyyy amazon/ecs-agent:latest "/agent" 24 minutes ago Up 24 minutes (healthy) ecs-agent
011axxxxxxxx xxx/xxx:latest "docker-entrypoint.s…" 2 hours ago Exited (137) 2 hours ago xxx
可以确认curl local-ip:PORT
失败:
curl: (7) Failed to connect to 10.0.x.x port xxxx: Connection refused
答案 0 :(得分:0)
因此,从讨论中,我们调查了这个问题。
问题出在任务定义中,应用程序在容器内运行,但没有主机公共和私有IP地址。
任务定义中的发布端口应解决此问题。
Traceback (most recent call last):
File "C:\Users\frcon\Anaconda3\lib\site-packages\sqlalchemy\util\_collections.py", line 210, in __getattr__
return self._data[key]
KeyError: 'passenger'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:/Users/frcon/Desktop/pythonstuff/RU-JER-DATA-PT-01-2020/01-Lesson-Plans/10-Advanced-Data-Storage-and-Retrieval/3/Activities/10-Ins_Flask_with_ORM/Solved/app.py", line 22, in <module>
Passenger = Base.classes.passenger
File "C:\Users\frcon\Anaconda3\lib\site-packages\sqlalchemy\util\_collections.py", line 212, in __getattr__
raise AttributeError(key)
AttributeError: passenger
{ "ContainerPort" : 3010, "HostPort" : Integer, "Protocol" : 3010 }
属性指定端口映射。端口映射允许容器访问主机容器实例上的端口以发送或接收流量。端口映射被指定为容器定义的一部分。