Dengan perkembangan lanjut DevOps dan populariti aplikasi asli awan, Docker telah menjadi salah satu alat standard untuk pembangunan, penggunaan serta operasi dan penyelenggaraan. Docker ialah alat yang mengendalikan kontena secara langsung, dan bekas menyediakan kaedah virtualisasi ringan yang boleh membungkus kod, persekitaran dan kebergantungan ke dalam persekitaran berjalan bebas, serta memindahkan dan menggunakan dengan cepat pada nod yang berbeza untuk memaksimumkan Ia meningkatkan kemudahalihan dan kebolehskalaan aplikasi. , menjadikan operasi dan penyelenggaraan lebih mudah dan cekap.
Walau bagaimanapun, dalam penggunaan sebenar Docker, kadangkala anda menghadapi beberapa masalah pelik, seperti imej tiada. Masalah ini biasanya disebabkan oleh imej pada Docker Hub dipadamkan atau registri di mana ia terletak tidak boleh diakses, menyebabkan Docker membuat ralat semasa proses menarik imej, sekali gus menjejaskan kestabilan dan kebolehpercayaan keseluruhan aplikasi.
Jadi, bagaimana untuk menyelesaikan masalah ini? Secara umumnya, terdapat dua penyelesaian: satu ialah menggunakan sumber imej lain, seperti Alibaba Cloud, Tencent Cloud, dll. Sumber cermin meningkatkan kebolehpercayaan dan kestabilan aplikasi.
Gunakan sumber imej lain
Mengambil Alibaba Cloud sebagai contoh, kita perlu terlebih dahulu mendaftar akaun pada perkhidmatan imej kontena Alibaba Cloud dan mengaktifkan perkhidmatan tersebut. Pilih "Pemecut Imej" pada konsol, dan anda akan mendapat URL URL ini ialah alamat pemecut imej Docker yang disediakan oleh Alibaba Cloud.
Salin alamat ini ke fail /etc/docker/daemon.json
dan mulakan semula perkhidmatan Docker. Contohnya:
{ "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"] }
Apabila anda menggunakan arahan Docker untuk menarik imej, anda boleh menambah parameter --registry-mirror
selepas arahan untuk menentukan penggunaan Alibaba Cloud Image Accelerator, contohnya:
docker pull --registry-mirror=https://xxxxxxxx.mirror.aliyuncs.com library/nginx
Pass Build Docker Registry secara tempatan
Gunakan sumber imej Docker Hub seperti Alibaba Cloud dan Tencent Cloud Walaupun ia boleh membantu menyelesaikan masalah kehilangan imej, model operasi syarikat ini biasanya mengenakan bayaran berdasarkan volum. Untuk beberapa keperluan sumber Perniagaan yang digunakan dengan sangat kerap mungkin juga menghadapi tekanan kos yang lebih tinggi. Lebih-lebih lagi, negara itu kini mula memerlukan beberapa data penting untuk disimpan dan dihantar dalam China Oleh itu, pada satu ketika, ketiadaan pelabuhan pendaftaran asing juga boleh menjadi halangan.
Membina Pendaftaran Docker secara tempatan boleh menyelesaikan masalah ini. Kami hanya perlu membina Registry Docker pada pelayan Linux dan menolak imej yang diperlukan ke Registry ini. Langkah-langkah khusus adalah seperti berikut:
Gunakan arahan berikut pada pelayan tempatan untuk menarik imej Docker Registry:
docker pull registry
Gunakan arahan berikut untuk memulakan bekas Docker Registry:
docker run -d -p 5000:5000 --restart=always --name registry registry:latest
Secara lalai, Registry akan mendengar pada port tempatan 5000 dan gunakan fail tempatan Sistem ini bertindak sebagai repositori imej.
Gunakan arahan berikut pada komputer setempat anda untuk menolak imej Dcoker tempatan ke Pejabat Pendaftaran:
docker tag <local_image_name> <registry_url>/<remote_image_name> docker push <registry_url>/<remote_image_name>
di mana <local_image_name>
ialah nama imej Docker tempatan, <registry_url>
ialah alamat IP pelayan tempatan kami dan nombor port 5000, dan <remote_image_name>
ialah nama imej yang ditolak ke Pejabat Pendaftaran.
Gunakan arahan berikut untuk menarik imej dari Registry:
docker pull <registry_url>/<remote_image_name>
Dengan membina Docker Registry secara tempatan, kita boleh simpannya dengan cepat dan dapatkan semula imej yang diperlukan, dan kawal penggunaan dan pengendalian imej Docker dengan lebih baik. Selain itu, Pendaftaran Docker yang dibina secara tempatan boleh menyokong fungsi yang lebih maju, seperti pengurusan imej, kawalan kebenaran akaun, pemodelan gudang imej, perkongsian imej, dll. Fungsi ini boleh mengoptimumkan lagi proses operasi dan penyelenggaraan Docker kami dan meningkatkan prestasi kami dalam DevOps .
Ringkasnya, masalah kehilangan imej adalah masalah biasa dan menyusahkan semasa operasi Docker Namun, melalui pemecut imej Docker yang boleh dipercayai seperti Alibaba Cloud atau membina Docker Registry secara tempatan, kami dapat menyelesaikan masalah ini dengan lebih baik meningkatkan kebolehpercayaan dan kestabilan aplikasi, mempercepatkan pembinaan dan penggunaan serta meningkatkan kecekapan DevOps.
Atas ialah kandungan terperinci Apa yang berlaku apabila imej docker hilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!