Libelektra: Docker: batas kecepatan tarik tercapai.

Dibuat pada 1 Des 2020  ·  18Komentar  ·  Sumber: ElektraInitiative/libelektra

Docker baru-baru ini menerapkan batas tarikan untuk pengguna anonim dan gratis. Batasnya adalah 100 (anon) dan 200 (gratis) permintaan tarik gambar kontainer per enam jam.

Build mulai gagal karena batas ini dan kami perlu menerapkan perbaikan atau solusi.

docker build -t hub.libelektra.org/build-elektra-alpine:202012-0e6d95bb97e68999c969280c59562b159b8a0ecbee2a5aba451fe640081032de --pull --build-arg JENKINS_GROUPID=47110 --build-arg JENKINS_USERID=47110 --build-arg PARALLEL=12 --build-arg BASE_IMG=hub.libelektra.org/build-elektra-web-base:master_299 -f ./scripts/docker/alpine/3.12/Dockerfile ./scripts/docker/alpine/3.12
Sending build context to Docker daemon  6.144kB

Step 1/7 : FROM alpine:3.12.1
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
script returned exit code 1
continuous integration

Komentar yang paling membantu

jika hanya 14 gambar buruh pelabuhan dan kami menarik hanya setiap bulan, kami harus jauh di bawah batas apa pun?

Tampaknya Jenkins Pipeline menjalankan pekerjaan (saya pikir untuk situs web) yang mencoba menarik dari Docker Hub sepanjang waktu: https://build.libelektra.org/blue/organizations/jenkins/libelektra/detail/PR-3589 /5/pipa/696

AFAIK ini terjadi karena penggunaan build --pull .

Kita mungkin harus menggunakan build (tanpa --pull ) secara default dan menjalankannya dengan --pull mingguan atau bulanan.

Semua 18 komentar

Server build kami seharusnya hanya menarik dari registri docker pribadi kami, tidak pernah dari docker.org.

Apakah masalahnya mungkin hanya pengaturan yang tidak kami ubah di hub.libelektra.org? Atau ada gambar yang tidak dicerminkan di hub.libelektra.org?

@robaerd bisa tolong lihat? Ini mendesak, karena memengaruhi bangunan kami.

Atau ada gambar yang tidak dicerminkan di hub.libelektra.org?

Tampaknya selalu memeriksa gambar dasar yang diperbarui yang tidak ada di hub kami ...

Tampaknya selalu memeriksa gambar dasar yang diperbarui yang tidak ada di hub kami ...

Ini adalah bagian dari pembangunan kembali gambar buruh pelabuhan bulanan, karena bulan adalah bagian dari id gambar.

Gambar buruh pelabuhan saat ini di-cache lagi, jadi tidak ada pembangunan kembali gambar buruh pelabuhan yang akan terjadi dan oleh karena itu kesalahan tidak akan terulang setidaknya bulan ini.

Saya masih tidak yakin bagaimana kami dapat melampaui batas 100 tarikan dengan ~14 gambar buruh pelabuhan kami.

Terima kasih telah menyelidikinya. :sparkling_heart: Ya, kelihatannya agak aneh: jika hanya 14 gambar buruh pelabuhan dan kami menarik hanya setiap bulan, kami harus jauh di bawah batas?

Tampaknya selalu memeriksa gambar dasar yang diperbarui yang tidak ada di hub kami ...

Apakah hub.libelektra.org dikonfigurasi seperti ini: https://docs.docker.com/registry/recipes/mirror ? Jika demikian, pemahaman saya adalah bahwa memeriksa apakah gambar tersebut mutakhir seharusnya hanya menghitung kuota, jika benar-benar perlu menarik gambar baru.

Cara termudah untuk mengatasi kuota adalah dengan membuat Akun Docker Hub untuk CI. Ada Program Sumber Terbuka , jadi mungkin kami akan memenuhi syarat untuk mendapatkan akun tanpa batas.

Saya bisa melakukan aplikasi jika itu membantu. Tapi pertama-tama kita harus mencari tahu apa sebenarnya masalahnya.

Saya tidak tahu bagaimana Docker Hub melacak batas kecepatan. Saya berasumsi ini didasarkan pada IP, jika tidak, akan terlalu mudah untuk mengatur ulang secara lokal. Dalam hal ini, apakah server build kami satu-satunya yang akan muncul di Docker Hub melalui IP ini?

Ya, server build memiliki IP khusus, bahkan beberapa, dan CI adalah satu-satunya bagian yang menggunakan buruh pelabuhan.

jika hanya 14 gambar buruh pelabuhan dan kami menarik hanya setiap bulan, kami harus jauh di bawah batas apa pun?

Tampaknya Jenkins Pipeline menjalankan pekerjaan (saya pikir untuk situs web) yang mencoba menarik dari Docker Hub sepanjang waktu: https://build.libelektra.org/blue/organizations/jenkins/libelektra/detail/PR-3589 /5/pipa/696

AFAIK ini terjadi karena penggunaan build --pull .

Kita mungkin harus menggunakan build (tanpa --pull ) secara default dan menjalankannya dengan --pull mingguan atau bulanan.

Terima kasih telah mencari tahu! :sparkling_heart:

Terima kasih telah menemukan penyebab masalah ini!

Atau untuk menghapus --pull , kami juga dapat membuat gambar dasar untuk basis webui tanpa menginstal elektra (hanya dengan dependensi dan gtests diinstal). Gambar dasar ini kemudian - seperti yang lain - dibangun setiap bulan dan gambar dasar webui akan diperluas dari gambar dasar ini dan hanya menarik dari registri buruh pelabuhan pribadi kami (dan dengan demikian tidak akan memengaruhi batas tarikan)

basis webui belum terpasang elektra

Aku suka ide ini! Terlepas dari batas tarikan Docker, ini akan menjadi peningkatan!

basis webui belum terpasang elektra

Ya itu juga akan menjadi pilihan. Gambar yang dimaksud sudah menjadi gambar dasar untuk gambar webui dan elektrad . Jadi kita bisa memindahkan penyalinan dan pembuatan Elektra ke dalam file Docker lainnya. Atau mungkin ada solusi dengan build multi-tahap? Tidak yakin, apakah tahap perantara dapat didorong ke/ditarik dari pendaftar.

Kemarin saya menguji perpustakaan bersama di jenkins di mana hanya tahap tarik yang dieksekusi. Tidak ada pembuatan gambar, hanya menarik dari registri buruh pelabuhan pribadi kami di hub.libelektra.org dan saya masih mendapatkan kesalahan Batas Tingkat Docker. Saya melihat sedikit lebih dalam dan berhasil menemukan penyebab masalah kami.
Ini watchtower , sebuah wadah yang berjalan yang memperbarui gambar kita pada interval yang ditentukan. Masalah ini harus diperbaiki dalam rilis terbaru mereka. Saya akan memperbarui gambar ini dan mengatur interval polling ke nilai yang lebih tinggi.
Log dari wadah menara pengawas juga mengkonfirmasi asumsi saya.

time="2020-11-16T22:22:58Z" level=info msg="Unable to update container /frontend_repo_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:22:59Z" level=info msg="Unable to update container /frontend_registry_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:00Z" level=info msg="Unable to update container /frontend_letsencrypt-nginx-proxy-companion_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:01Z" level=info msg="Unable to update container /frontend_nginx-proxy_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:02Z" level=info msg="Unable to update container /frontend_watchtower_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:04Z" level=info msg="Unable to update container /frontend_libelektra-webui_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:28Z" level=info msg="Unable to update container /frontend_repo_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:29Z" level=info msg="Unable to update container /frontend_registry_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:30Z" level=info msg="Unable to update container /frontend_letsencrypt-nginx-proxy-companion_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."

Terima kasih banyak untuk mencari tahu :sparkling_heart:

@robaerd bisakah kita menutup ini atau ada hal lain yang harus dilakukan?

Semua gambar buruh pelabuhan yang digunakan dalam tahap artefak (webui, situs web, pengujian paket) masih menarik dari docker.org, bukan dari registri pribadi kita. Saya pikir ini mungkin harus dalam masalah terpisah karena kami tidak akan pernah melebihi batas tarik buruh pelabuhan dengan ini. Tetapi sejak pembaruan gambar menara pengawal, masalah ini harus diperbaiki dan IMHO dapat ditutup.

Mungkin tidak ada lagi yang perlu dilakukan. Jika kita tidak mencapai batas, tidak apa-apa untuk menarik dari docker.org.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

markus2330 picture markus2330  ·  3Komentar

dmoisej picture dmoisej  ·  3Komentar

mpranj picture mpranj  ·  4Komentar

mpranj picture mpranj  ·  3Komentar

markus2330 picture markus2330  ·  3Komentar