2017-07-06 73 views
0

我對亞馬遜的EC2服務相當陌生,而且我對此感到奇怪的行爲感到茫然。
我有一個在本地運行時完美運行的Docker鏡像。我已經將其上傳到存儲庫,並將集羣/服務/任務定義在EC2中運行。
當我試圖蜷縮到我正在運行的服務時,我被告知連接被拒絕(因爲我假設端口未被正確打開或映射)。
如果我使用-p 1200:1200標誌手動啓動Amazon EC2並手動啓動映像,它將再次運行而不會出現問題,並且可以無錯地捲曲。AWS ECS奇怪的碼頭行爲

除此之外,當我嘗試從amazon自動部署的映像中檢索日誌時,它們是空的。
當在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

任何深入瞭解爲什麼發生這種情況,將不勝感激!

+0

你能提供或比較對我們來說,既:'搬運工檢查<容器的id>'? – Robert

回答

0

我看到列出的碼頭圖像的差異。

ECS正在運行讀取<none>並且您正在手動運行一個讀取latest

因此,請更新您的任務定義,在圖像字段中添加:latest。然後更新您的服務以使用該任務定義。

另外,手動刪除有問題的圖像docker rmi -f 4e1b63e39c66

+0

我做了你所建議的更改。該任務現在更新爲使用最新的圖像,並且有問題的圖像被刪除。雖然我確實認爲這是一個需要解決的問題,但問題仍然存在。 – user2659185

+0

您是否重新部署了該任務?您需要相應地更新服務。在任務屏幕中,點擊更新服務 – Robert

+0

是的,當我這樣做時,它說「服務:沒有更新」 – user2659185