本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CannotPullContainer Amazon 中的任務錯誤 ECS
以下錯誤表示任務無法啟動,因為 Amazon ECS 無法擷取指定的容器映像。
注意
1.4 Fargate 平台版本會截斷長的錯誤訊息。
錯誤
- 工作無法提取影像。檢查角色是否具有從登錄提取映像的權限。
- 工作無法提取 'image-name'從 Amazon 存ECR儲庫'repository URI'. 任務和 Amazon 之間存在連接問題ECR。檢查您的任務網絡配置。
- 工作無法提取影像。檢查您的網路組態
- API錯誤(500):獲取 https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/:網絡/HTTP:等待連接時取消請求
- API錯誤
- 寫 /var/lib/碼頭/tmp/GetImageBlob111111111:設備上沒有剩餘空間
- ERROR:太多請求:請求過多或您已達到提取率限制。
- 守護進程的錯誤響應:獲取 url:net/http:等待連接時請求取消
- ref pull 已重試 1 次:複製失敗:: 開啟失敗 httpReaderSeeker:非預期的狀態碼
- 提取訪問被拒絕
- pull 命令失敗:恐慌:運行時錯誤:無效的內存地址或零指針解除引用
- 拉圖像conf/錯誤拉圖像配置圖像
- 內容已取消
工作無法提取影像。檢查角色是否具有從登錄提取映像的權限。
此錯誤表示工作無法提取工作定義中指定的影像,因為權限問題。
若要解決此問題:
-
檢查圖像是否存在於
irepository
。 如需檢視影像的相關資訊,請參閱 Amazon 彈性容器登錄使用者指南ECR中的在 Amazon 中檢視影像詳細資料。 -
驗證
role-arn
具有提取圖像的正確權限。有關如何查看和修改角色的更多信息,請參閱《AWS Identity and Access Management 使用指南》中的修改角色。
此工作會使用下列其中一個角色:
-
對於具有 Fargate 啟動類型的工作,這是工作執行角色。有關 Amazon 附加許可的信息ECR,透過界面端點許可提取 Amazon ECR 映像的 Fargate 端任務.
-
對於具有EC2啟動類型的工作,這是容器執行個體角色。有關 Amazon 附加許可的信息ECR,Amazon ECR 許可.
-
工作無法提取 '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:非預期的狀態碼
此錯誤表示複製影像時發生失敗。
若要解決此問題,請檢閱下列其中一篇文章:
-
對於 Fargate 任務,請參閱如何解決我在 Fargate 上的 Amazon 任務的「無法抽取容器」錯誤
。ECS -
對於其他任務,請參閱如何解決 Amazon 任務的「無法拉入容器
」錯誤。ECS
提取訪問被拒絕
此錯誤表示無法存取影像。
若要解決此問題,您可能需要透過 Amazon 驗證 Docker 用戶端如需ECR詳細資訊,請參閱 Amazon ECR 使用者指南中的私人登錄身份驗證。
pull 命令失敗:恐慌:運行時錯誤:無效的內存地址或零指針解除引用
此錯誤表明由於無效的內存地址或零指針解除引用而無法訪問圖像。
若要解決此問題:
-
檢查您是否擁有可連接 Amazon S3 的安全群組規則。
-
使用閘道端點時,必須在路由表中新增路由,才能存取端點。
拉圖像conf/錯誤拉圖像配置圖像
此錯誤表示已達到速率限制或發生網路錯誤:
若要解決此問題,請參閱如何解決 Amazon ECS EC2 啟動類型任務中的 CannotPullContainerError「」錯誤
內容已取消
此錯誤表示前後關聯已取消。
此錯誤的常見原因是因為VPC您的任務使用沒有從 Amazon 提取容器映像的路由ECR。