2016-12-05 177 views
0

我試圖配置AWS ECS以運行具有在端口3000上運行的應用程序的Docker映像。當我將ECS容器配置爲將主機端口80轉發到容器端口3000時ECS告訴我我的容器正在運行。但是,轉到我的EC2實例的公共IP會導致超時(而不是應用程序主頁,如我所期望的)。使用AWS ECS運行Docker映像

有趣的是,如果我手動進入EC2實例並手動重新啓動映像,我可以在瀏覽器中導航到端口80上的應用程序。這裏是命令我使用手動運行映像:

docker run -i -t -p 80:3000 <image>

有誰知道爲什麼當手動啓動和端口轉發並ECS端口轉發不起作用?我可能會錯過什麼?

+0

你的任務定義是怎樣的?碼頭容器在第一次進入實例時運行嗎? – doorstuck

+0

是的,當我第一次使用實例時,Docker容器正在運行。我放棄了ECS,並轉而在EC2實例上自己運行Docker。 – Reggie

回答

0

我會首先懷疑問題是您的安全組沒有打開3000端口。作爲測試,添加一個端口範圍爲3000的TCP規則,將源更改爲Anywhere0.0.0.0/0, ::/0

+0

這沒有任何意義,回覆: _有趣的是,如果我ssh到我的EC2實例並手動重新啓動圖像,我可以導航到我的瀏覽器在端口80上的應用程序就好了。這裏是我用來手動運行圖像的命令:_ 'docker run -i -t -p 80:3000 ' – Reggie