Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CannotPullContainer kesalahan tugas di Amazon ECS
Kesalahan berikut menunjukkan bahwa tugas gagal dimulai karena Amazon ECS tidak dapat mengambil gambar kontainer yang ditentukan.
catatan
Versi platform 1.4 Fargate memotong pesan kesalahan yang panjang.
Kesalahan
- Tugas tidak dapat menarik gambar. Periksa apakah peran memiliki izin untuk menarik gambar dari registri
- Tugas tidak dapat menarik gambar. Periksa konfigurasi jaringan Anda
- Kesalahan API (500): Dapatkan https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: permintaan dibatalkan sambil menunggu koneksi
- Kesalahan API
- tulis /var/lib/docker/tmp/ GetImage Blob111111111: tidak ada ruang tersisa di perangkat
- ERROR: toomanyrequests: Terlalu Banyak Permintaan atau Anda telah mencapai batas tingkat tarik Anda.
- Tanggapan kesalahan dari daemon: Dapatkan url: net/http: permintaan dibatalkan sambil menunggu koneksi
- ref pull telah dicoba ulang 1 kali: gagal menyalin:: gagal buka httpReaderSeeker: kode status tak terduga
- akses tarik ditolak
- perintah tarik gagal: panik: kesalahan runtime: alamat memori tidak valid atau dereferensi pointer nil
- kesalahan menarik gambar conf/error menarik konfigurasi gambar
- Konteks dibatalkan
Tugas tidak dapat menarik gambar. Periksa apakah peran memiliki izin untuk menarik gambar dari registri
Kesalahan ini menunjukkan bahwa tugas tidak dapat menarik gambar yang ditentukan dalam definisi tugas karena masalah izin. Ada informasi tambahan dalam pesan kesalahan yang menyediakan gambar atau peran yang menyebabkan masalah.
“Respons kesalahan dari daemon: akses tarik ditolak untuk repositori
tidak ada atau mungkin memerlukan 'docker login': denied: User: roLearn
tidak diizinkan untuk melakukan: ecr: on resource: image karena tidak ada kebijakan berbasis identitas yang mengizinkan ecr BatchGetImage :
action.” BatchGetImage
Untuk menyelesaikan masalah ini:
-
Periksa apakah gambar ada di
irepository
. Untuk informasi tentang melihat gambar Anda, lihat Melihat detail gambar di Amazon ECR di Panduan Pengguna Amazon Elastic Container Registry. -
Verifikasi bahwa
role-arn
memiliki izin yang benar untuk menarik gambar.Untuk informasi tentang cara melihat dan mengubah peran, lihat Memodifikasi peran dalam Panduan AWS Identity and Access Management Penggunaan.
Tugas menggunakan salah satu peran berikut:
-
Untuk tugas dengan tipe peluncuran Fargate, ini adalah peran eksekusi tugas. Untuk informasi tentang izin tambahan untuk Amazon ECR,. Tugas Fargate menarik gambar Amazon ECR melalui izin titik akhir antarmuka
-
Untuk tugas dengan tipe peluncuran EC2, ini adalah peran instance container. Untuk informasi tentang izin tambahan untuk Amazon ECR,. Izin Amazon ECR
-
Tugas tidak dapat menarik gambar. Periksa konfigurasi jaringan Anda
Kesalahan ini menunjukkan bahwa tugas tidak dapat terhubung ke Amazon ECR.
Untuk informasi tentang cara memverifikasi dan menyelesaikan masalah, lihatMemverifikasi Amazon ECS menghentikan konektivitas tugas.
Kesalahan API (500): Dapatkan https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: permintaan dibatalkan sambil menunggu koneksi
Kesalahan ini menunjukkan bahwa koneksi habis waktu, karena rute ke internet tidak ada.
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 Menjalankan aplikasi sebagai tugas Amazon ECS.
-
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.
Kesalahan API
Kesalahan ini menunjukkan bahwa ada masalah koneksi 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 di situs
tulis /var/lib/docker/tmp/ GetImage Blob111111111: tidak ada ruang tersisa di perangkat
Kesalahan ini menunjukkan bahwa ruang disk tidak mencukupi.
Untuk mengatasi masalah ini, kosongkan ruang disk.
Jika Anda menggunakan AMI Amazon ECS yang dioptimalkan, 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, volume root mungkin diisi oleh wadah yang sedang berjalan. Jika kontainer menggunakan driver log json-file
default tanpa batas max-size
, terdapat kemungkinan bahwa berkas log bertanggung jawab pada sebagian besar ruang yang digunakan. Anda dapat menggunakan perintah docker 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 mengatur max-size
sebagai pilihan pengandar catatan, yang dapat mencegah berkas log mengambil terlalu banyak ruang. Untuk informasi selengkapnya, lihat Konfigurasi pengandar pencatatan
Berikut ini adalah cuplikan ketentuan kontainer yang menunjukkan bagaimana menggunakan pilihan ini:
{ "log-driver": "json-file", "log-opts": { "max-size": "
256m
" } }
Alternatifnya, jika log kontainer Anda menghabiskan terlalu banyak ruang disk, adalah dengan menggunakan driver awslogs
log. Driver awslogs
log mengirimkan log ke CloudWatch, yang membebaskan ruang disk yang seharusnya digunakan untuk log kontainer Anda pada instance kontainer. Untuk informasi selengkapnya, lihat Kirim log Amazon ECS ke CloudWatch .
ERROR: toomanyrequests: Terlalu Banyak Permintaan atau Anda telah mencapai batas tingkat tarik Anda.
Kesalahan ini menunjukkan bahwa ada pembatasan laju Docker Hub.
Jika Anda menerima salah satu kesalahan berikut, kemungkinan Anda mencapai tingkat batasan Docker Hub:
Untuk informasi selengkapnya tentang tingkat batasan Docker Hub, lihat Memahami pembatasan pada tingkat Docker Hub
Jika Anda telah meningkatkan batas laju Docker Hub dan Anda perlu mengautentikasi tarikan Docker untuk instance container Anda, lihat Autentikasi registri pribadi untuk instance container.
Tanggapan kesalahan dari daemon: Dapatkan url
: net/http: permintaan dibatalkan sambil menunggu koneksi
Kesalahan ini menunjukkan bahwa koneksi habis waktu, karena rute ke internet tidak ada.
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 Menjalankan aplikasi sebagai tugas Amazon ECS.
-
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.
ref pull telah dicoba ulang 1 kali: gagal menyalin:: gagal buka httpReaderSeeker: kode status tak terduga
Kesalahan ini menunjukkan bahwa ada kegagalan saat menyalin gambar.
Untuk mengatasi masalah ini, tinjau salah satu artikel berikut:
-
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.
akses tarik ditolak
Kesalahan ini menunjukkan bahwa tidak ada akses ke gambar.
Untuk mengatasi masalah ini, Anda mungkin perlu mengautentikasi klien Docker Anda dengan Amazon ECR Untuk informasi selengkapnya, lihat Autentikasi registri pribadi di Panduan Pengguna Amazon ECR.
perintah tarik gagal: panik: kesalahan runtime: alamat memori tidak valid atau dereferensi pointer nil
Kesalahan ini menunjukkan bahwa tidak ada akses ke gambar karena alamat memori yang tidak valid atau dereferensi pointer nil.
Untuk menyelesaikan masalah ini:
-
Periksa apakah Anda memiliki aturan grup keamanan untuk mencapai Amazon S3.
-
Saat Anda menggunakan titik akhir gateway, Anda harus menambahkan rute di tabel rute untuk mengakses titik akhir.
kesalahan menarik gambar conf/error menarik konfigurasi gambar
Kesalahan ini menunjukkan batas tarif telah tercapai atau ada kesalahan jaringan:
Untuk mengatasi masalah ini, lihat Bagaimana cara mengatasi kesalahan "CannotPullContainerError" di Tugas Jenis Peluncuran Amazon ECS EC2 saya
Konteks dibatalkan
Kesalahan ini menunjukkan bahwa konteksnya dibatalkan.
Penyebab umum kesalahan ini adalah karena VPC yang digunakan tugas Anda tidak memiliki rute untuk menarik gambar penampung dari Amazon ECR.