CannotPullContainer Amazon 中的任務錯誤 ECS - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CannotPullContainer Amazon 中的任務錯誤 ECS

以下錯誤表示任務無法啟動,因為 Amazon ECS 無法擷取指定的容器映像。

注意

1.4 Fargate 平台版本會截斷長的錯誤訊息。

工作無法提取影像。檢查角色是否具有從登錄提取映像的權限。

此錯誤表示工作無法提取工作定義中指定的影像,因為權限問題。

若要解決此問題:

  1. 檢查圖像是否存在於 irepository。 如需檢視影像的相關資訊,請參閱 Amazon 彈性容器登錄使用者指南ECR中的在 Amazon 中檢視影像詳細資料。

  2. 驗證 role-arn 具有提取圖像的正確權限。

    有關如何查看和修改角色的更多信息,請參閱《AWS Identity and Access Management 使用指南》中的修改角色。

    此工作會使用下列其中一個角色:

工作無法提取 'image-name'從 Amazon 存ECR儲庫'repository URI'. 任務和 Amazon 之間存在連接問題ECR。檢查您的任務網絡配置。

此錯誤表示該任務無法連接到 Amazon ECR。檢查到的連接 repository URI 儲存庫。

如需如何驗證和解決問題的相關資訊,請參閱驗證 Amazon ECS 停止任務連接

工作無法提取影像。檢查您的網路組態

此錯誤表示該任務無法連接到 Amazon ECR。

如需如何驗證和解決問題的相關資訊,請參閱驗證 Amazon ECS 停止任務連接

API錯誤(500):獲取 https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/:網絡/HTTP:等待連接時取消請求

此錯誤表示連線逾時,因為網際網路的路由不存在。

要解決此問題,則可以採取下列方式:

  • 對於公用子網路中的工作,請在啟動工作時ENABLED自動指派公用 IP 指定。如需詳細資訊,請參閱將應用程序作為 Amazon ECS 任務運行

  • 對於私人子網路中的工作,請指定啟動工作時自動指派公DISABLED用 IP,並在您的中設定NAT閘道以將要求路由VPC到網際網路。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的NAT閘道

API錯誤

此錯誤表示 Amazon ECR 端點發生連線問題。

有關如何解決此問題的信息,請參閱如何解決 Amazon AWS Support 網站ECS上的 Amazon API 錯ECR誤「CannotPullContainerError:錯誤」

寫 /var/lib/碼頭/tmp/GetImageBlob111111111:設備上沒有剩餘空間

此錯誤表示磁碟空間不足。

若要解決這個問題,請釋放磁碟空間。

如果您使用的是 Amazon ECS 優化AMI,則可以使用以下命令來檢索文件系統上 20 個最大的文件:

du -Sh / | sort -rh | head -20

輸出範例:

5.7G    /var/lib/docker/containers/50501b5f4cbf90b406e0ca60bf4e6d4ec8f773a6c1d2b451ed8e0195418ad0d2
1.2G    /var/log/ecs
594M    /var/lib/docker/devicemapper/mnt/c8e3010e36ce4c089bf286a623699f5233097ca126ebd5a700af023a5127633d/rootfs/data/logs
...

在某些情況下,根磁碟區可能會由執行中的容器填滿。如果容器使用預設的 json-file 日誌驅動程式,而不具有 max-size 限制,則該日誌檔案可能佔用大部分空間。您可以使用 docker ps 命令,透過將目錄名稱從上面的輸出映射至容器 ID,來驗證哪個容器正在使用該空間。例如:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50501b5f4cbf amazon/amazon-ecs-agent:latest "/agent" 4 days ago Up 4 days ecs-agent

默認情況下,當使用json-file日誌驅動程序時,Docker 捕獲所有容器的標準輸出(和標準錯誤),並使用該JSON格式將它們寫入文件中。您可以將 max-size 設定為日誌驅動程式選項,以防止日誌檔案佔用過多空間。如需詳細資訊,請參閱 Docker 文件中的設定日誌驅動程式

下列是一個容器定義片段,顯示如何使用此選項:

{ "log-driver": "json-file", "log-opts": { "max-size": "256m" } }

另一種方法是,如果您的容器日誌佔用了太多的磁盤空間,則是使用日awslogs誌驅動程序。記awslogs錄驅動程式會將記錄檔傳送至 CloudWatch,以釋放磁碟空間,否則會用於容器執行個體上的容器記錄檔。如需詳細資訊,請參閱將 Amazon ECS 日誌發送到 CloudWatch

ERROR:太多請求:請求過多或您已達到提取率限制。

此錯誤表示存在 Docker 集線器速率限制。

如果收到下列其中一項錯誤訊息,您很可能會達到 Docker Hub 速率限制:

如需 Docker Hub 速率限制的詳細資訊,請參閱了解 Docker Hub 速率限制

如果您提高了 Docker Hub 速率限制,並且需要針對容器執行個體驗證 Docker 提取,請參閱容器執行個體的專用登錄驗證

守護進程的錯誤響應:獲取 url:net/http:等待連接時請求取消

此錯誤表示連線逾時,因為網際網路的路由不存在。

要解決此問題,則可以採取下列方式:

  • 對於公用子網路中的工作,請在啟動工作時ENABLED自動指派公用 IP 指定。如需詳細資訊,請參閱將應用程序作為 Amazon ECS 任務運行

  • 對於私人子網路中的工作,請指定啟動工作時自動指派公DISABLED用 IP,並在您的中設定NAT閘道以將要求路由VPC到網際網路。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的NAT閘道

ref pull 已重試 1 次:複製失敗:: 開啟失敗 httpReaderSeeker:非預期的狀態碼

此錯誤表示複製影像時發生失敗。

若要解決此問題,請檢閱下列其中一篇文章:

提取訪問被拒絕

此錯誤表示無法存取影像。

若要解決此問題,您可能需要透過 Amazon 驗證 Docker 用戶端如需ECR詳細資訊,請參閱 Amazon ECR 使用者指南中的私人登錄身份驗證

pull 命令失敗:恐慌:運行時錯誤:無效的內存地址或零指針解除引用

此錯誤表明由於無效的內存地址或零指針解除引用而無法訪問圖像。

若要解決此問題:

  • 檢查您是否擁有可連接 Amazon S3 的安全群組規則。

  • 使用閘道端點時,必須在路由表中新增路由,才能存取端點。

拉圖像conf/錯誤拉圖像配置圖像

此錯誤表示已達到速率限制或發生網路錯誤:

若要解決此問題,請參閱如何解決 Amazon ECS EC2 啟動類型任務中的 CannotPullContainerError「」錯誤

內容已取消

此錯誤表示前後關聯已取消。

此錯誤的常見原因是因為VPC您的任務使用沒有從 Amazon 提取容器映像的路由ECR。