AWS ECS 任務卡在「PROVISIONING」處

AWS ECS 任務卡在「PROVISIONING」處

我有一個帶有容量提供者和服務的 ECS 叢集。容量提供者執行一個自動縮放群組,當該群組的一個實例啟動時,最後我可以看到有可用的 ECS 實例。實際上,我可以透過 SSH 連接到它們。

該服務也運作良好,因為它創建了一個基於 ERS ​​儲存庫中的 docker 映像的新任務。但是,任務永遠不會從「PROVISIONING」傳遞,如果我打開任務,我可以看到任務的容器為空並正在載入。如果我進入我的實例,如果我執行docker ps或 ,我會看到相同的 docker 實例docker ps -a。如果我執行代理,docker exec id_docker /agent我會看到:

level=info time=2022-05-02T21:16:05Z msg="Successfully got ECS instance credentials from provider: EC2RoleProvider" module=instancecreds.go
level=info time=2022-05-02T21:16:05Z msg="Starting Amazon ECS Agent" version="1.61.0" commit="05730614"
level=info time=2022-05-02T21:16:05Z msg="Loading configuration"
level=info time=2022-05-02T21:16:05Z msg="Successfully got ECS instance credentials from provider: EC2RoleProvider" module=instancecreds.go

如果我嘗試使用docker exec id_docker bash我會收到錯誤:

OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown

這裡發生了什麼事?有什麼線索嗎?

答案1

我在執行 wsa 之後得到的docker ps實際上是 ecs-agent,這是亞馬遜創建的用於控制容器的東西。那是卡住的部分。事實上,我的碼頭工人甚至沒有運行。

要解決這個問題,當您建立任務時,在容器選項中,當您選擇要重定向到主機的容器連接埠時,請輸入您的主機值0。 22。

相關內容