Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CannotPullContainer Kesalahan Tugas
Kesalahan berikut menunjukkan bahwa, saat membuat sebuah tugas, citra kontainer yang ditentukan tidak dapat diambil.
Versi platform 1.4 Fargate memotong pesan kesalahan yang panjang.
- Batas waktu koneksi habis
-
Saat tugas Fargate diluncurkan, elastic network interface membutuhkan rute menuju internet untuk menarik citra kontainer. Jika Anda menerima pesan kesalahan yang mirip dengan berikut ini saat menjalankan tugas, hal itu disebabkan rute menuju internet tidak ada:
CannotPullContainerError: API error (500): Get https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: request canceled while waiting for connection"
Untuk mengatasi masalah ini, Anda dapat:
-
Untuk tugas di subnet publik, tentukan DIAKTIFKAN untuk Tetapkan secara otomatis IP publik saat meluncurkan tugas. Untuk informasi selengkapnya, lihat Jalankan tugas mandiri di konsol Amazon ECS klasik.
-
Untuk tugas di subnet privat, tentukan NONAKTIF untuk Tetapkan secara otomatis IP publik saat meluncurkan tugas, dan mengonfigurasi gateway NAT di VPC Anda untuk merutekan permintaan menuju internet. Untuk informasi lebih lanjut, lihat NAT Gateway di Panduan Pengguna Amazon VPC.
-
- Konteks dibatalkan
-
Penyebab umum untuk kesalahan ini adalah karena VPC tugas Anda tidak menggunakan rute yang dimiliki untuk menarik citra kontainer dari Amazon ECR.
- Citra tidak ditemukan
-
Saat Anda menentukan citra Amazon ECR dalam ketentuan kontainer Anda, Anda harus menggunakan URI lengkap dari repositori ECR Anda bersama dengan nama citra dalam repositori tersebut. Jika repositori atau citra tidak ditemukan, Anda akan menerima kesalahan berikut:
CannotPullContainerError: API error (404): repository 111122223333.dkr.ecr.us-east-1.amazonaws.com/
<repo>
/<image>
not foundUntuk mengatasi masalah ini, verifikasi repositori URI dan nama citra. Juga pastikan bahwa Anda telah mengatur akses yang tepat dengan menggunakan eksekusi tugas peran IAM. Untuk informasi selengkapnya tentang peran pelaksanaan tugas, lihat Peran IAM eksekusi tugas ECS.
- Masalah koneksi titik akhir Amazon ECR
-
Jika Anda mencoba menarik gambar Amazon ECR dan Anda tidak memiliki izin yang benar untuk titik akhir Amazon ECR, Anda akan melihat kesalahan yang mirip dengan yang berikut:
CannotPullContainerError: API error
Untuk mengatasi masalah ini, Amazon ECS harus berkomunikasi dengan titik akhir Amazon ECR. Untuk informasi tentang cara mengatasi masalah ini, lihat Bagaimana cara mengatasi kesalahan Amazon ECR "CannotPullContainerError: Kesalahan API” di Amazon ECS
diAWS Support situs web. - Ruang disk tak cukup
-
Jika volume akar instans kontainer Anda memiliki ruang disk yang cukup saat menarik citra kontainer, Anda akan melihat kesalahan yang serupa dengan hal berikut:
CannotPullContainerError: write /var/lib/docker/tmp/
GetImageBlob111111111
: no space left on deviceUntuk mengatasi masalah ini, kosongkan ruang disk.
Jika Anda menggunakan AMI yang dioptimalkan Amazon ECS, Anda dapat menggunakan perintah berikut untuk mengambil 20 file terbesar di sistem file Anda:
du -Sh / | sort -rh | head -20
Contoh output:
5.7G /var/lib/docker/containers/50501b5f4cbf90b406e0ca60bf4e6d4ec8f773a6c1d2b451ed8e0195418ad0d2 1.2G /var/log/ecs 594M /var/lib/docker/devicemapper/mnt/c8e3010e36ce4c089bf286a623699f5233097ca126ebd5a700af023a5127633d/rootfs/data/logs ...
Dalam beberapa kasus, mirip dengan contoh sebelumnya, volume root mungkin diisi oleh kontainer yang sedang berjalan. Jika kontainer menggunakan driver log
json-file
default tanpa batasmax-size
, terdapat kemungkinan bahwa berkas log bertanggung jawab pada sebagian besar ruang yang digunakan. Anda dapat menggunakan perintahdocker ps
untuk memverifikasi kontainer yang menggunakan ruang dengan pemetaan nama direktori dari output di atas untuk ID kontainer. Sebagai contoh:CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50501b5f4cbf amazon/amazon-ecs-agent:latest "/agent" 4 days ago Up 4 days ecs-agent
Secara default, saat menggunakan driver log
json-file
, Docker menangkap output standar (dan kesalahan standar) dari semua kontainer Anda dan menulis output standar dan kesalahan dalam file menggunakan format JSON. Anda dapat mengaturmax-size
sebagai pilihan pengandar catatan, yang dapat mencegah berkas log mengambil terlalu banyak ruang. Untuk informasi selengkapnya, lihat Konfigurasi pengandar pencatatandalam dokumentasi Docker. Berikut ini adalah cuplikan ketentuan kontainer yang menunjukkan bagaimana menggunakan pilihan ini:
{ "log-driver": "json-file", "log-opts": { "max-size": "
256m
" } }Pilihan alternatif jika catatan kontainer Anda mengambil terlalu banyak ruang disk adalah dengan menggunakan pengemudi log
awslogs
. Driverawslogs
log mengirimkan log masuk CloudWatch, yang akan membebaskan ruang disk yang sebaliknya akan digunakan untuk catatan kontainer Anda pada instans kontainer. Untuk informasi selengkapnya, lihat Menggunakan driver log awslogs. - Pembatasan laju Docker Hub
-
Jika Anda menerima salah satu kesalahan berikut, kemungkinan Anda mencapai tingkat batasan Docker Hub:
ERROR: toomanyrequests: Too Many Requests.
You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits.
Untuk informasi selengkapnya tentang tingkat batasan Docker Hub, lihat Memahami pembatasan pada tingkat Docker Hub
. Jika Anda telah meningkatkan batas tarif Docker Hub dan Anda perlu mengautentikasi tarikan Docker untuk instans kontainer Anda, lihat Autentikasi registri pribadi untuk instans kontainer di Panduan Pengembang Layanan Kontainer Amazon Elastic.
- Gagal menyalin gambar
-
Jika Anda menerima kesalahan yang mirip dengan berikut ini saat menjalankan tugas, hal itu disebabkan tidak ada akses ke citra:
CannotPullContainerError: ref pull has been retried 1 time(s): failed to copy: httpReaderSeeker: failed open: unexpected status code
Untuk mengatasi masalah ini, Anda dapat:
-
Untuk tugas Fargate, lihat Bagaimana cara mengatasi kesalahan “cannotpullcontainererror” untuk tugas Amazon ECS saya di Fargate
. -
Untuk tugas lain, lihat Bagaimana cara mengatasi kesalahan “cannotpullcontainererror” untuk tugas Amazon ECS saya
.
-
Untuk informasi tambahan tentang error STOPTED, lihat kode kesalahan Stopped tasks di Panduan Pengguna Amazon Elastic Container Service forAWS Fargate.