AWS ECS奇怪的码头行为
我对亚马逊的EC2服务相当陌生,而且我对此感到奇怪的行为感到茫然。
我有一个在本地运行时完美运行的Docker镜像。我已经将其上传到存储库,并将集群/服务/任务定义在EC2中运行。
当我试图蜷缩到我正在运行的服务时,我被告知连接被拒绝(因为我假设端口未被正确打开或映射)。
如果我使用-p 1200:1200标志手动启动Amazon EC2并手动启动映像,它将再次运行而不会出现问题,并且可以无错地卷曲。AWS ECS奇怪的码头行为
除此之外,当我尝试从amazon自动部署的映像中检索日志时,它们是空的。
当在EC2上本地或手动运行时,日志存在且正确。就我所知,我的入站和出站规则不是问题,我的端口映射也是正确设置的。
我已经包含了所有描述的行为的屏幕截图以及Dockerfile的副本。
停止亚马逊的运行图像和-p 1200手动启动它:1200: (这样做之后,我的服务响应卷曲),这样做
日志:
运行图像的EC2的空日志:
入站规则:
出站规则:
端口映射:
Dockerfile:
FROM thedarbear/facerec
EXPOSE 1200
RUN mkdir -p /facerec
WORKDIR /facerec
COPY . /facerec
RUN cd /facerec
CMD python3 -u server.py
局部检查:
EC2检查:
任何深入了解为什么发生这种情况,将不胜感激!
我看到列出的码头图像的差异。
ECS正在运行读取<none>
并且您正在手动运行一个读取latest
。
因此,请更新您的任务定义,在图像字段中添加:latest
。然后更新您的服务以使用该任务定义。
另外,手动删除有问题的图像docker rmi -f 4e1b63e39c66
我做了你所建议的更改。该任务现在更新为使用最新的图像,并且有问题的图像被删除。虽然我确实认为这是一个需要解决的问题,但问题仍然存在。 – user2659185
您是否重新部署了该任务?您需要相应地更新服务。在任务屏幕中,点击更新服务 – Robert
是的,当我这样做时,它说“服务:没有更新” – user2659185
你能提供或比较对我们来说,既:'搬运工检查'? – Robert