AWS ECS奇怪的docker行为

时间:2017-07-06 22:05:17

标签: amazon-web-services curl docker port amazon-ecs

我对亚马逊的EC2服务还是比较新的,我对从中获得的奇怪行为感到茫然。
我有一个Docker镜像,在本地运行时运行完美。我已将其上传到存储库并制作了一个集群/服务/任务定义,以便在EC2中运行它 当我试图卷曲到我正在运行的服务时,我被告知连接被拒绝(因为我认为端口没有打开或正确映射)。
如果我ssh到Amazon EC2并使用-p 1200:1200标志手动启动图像,它会再次运行而没有问题,并且可以无错误地卷曲。

除此之外,当我尝试从亚马逊自动部署的图像中检索日志时,它们是空的。
在本地或在EC2上手动运行时,日志存在且正确。据我所知,我的入站和出站规则不是问题,据我所知,我的端口映射也是正确设置的。

我已经包含了所有描述行为的屏幕截图,以及我的Dockerfile的副本。

停止亚马逊的运行图像并使用-p 1200:1200手动启动它: (完成此操作后,我的服务响应卷曲)

image being ran manually

执行此操作的日志:

logs from running manually

从运行图像的EC2清空日志:

logs when ran from ec2

入境规则:

inbound rules

出境规则:

outbound rules

端口映射:

port mappings

Dockerfile:

    FROM thedarbear/facerec

    EXPOSE 1200

    RUN mkdir -p /facerec
    WORKDIR /facerec
    COPY . /facerec
    RUN cd /facerec
    CMD python3 -u server.py

当地检查:

https://pastebin.com/7Y48ukqa

ec2检查:

https://pastebin.com/EdJRSEpi

非常感谢任何有关为何发生这种情况的见解!

1 个答案:

答案 0 :(得分:0)

我看到列出的泊坞窗图像的区别。

ECS正在运行读取<none>的内容,并且您手动运行的内容为latest

因此,更新您在图片字段中添加:latest的任务定义。然后更新您的服务以使用该任务定义。

此外,请手动删除有问题的图片docker rmi -f 4e1b63e39c66