Docker kini merupakan teknologi kontena yang paling banyak digunakan Melalui pelaksanaan teknologi virtualisasi, ia membolehkan berbilang aplikasi berjalan pada mesin fizikal yang sama tanpa mengganggu satu sama lain. Apabila menggunakan Docker, kita biasanya perlu mencipta dan memadam imej bekas, tetapi kadangkala imej itu tidak boleh dipadamkan, yang boleh menyebabkan kita banyak masalah. Artikel ini menerangkan punca dan penyelesaian kepada situasi ini.
1. Sebab imej Docker tidak boleh dipadamkan
Apabila menggunakan imej Docker, mungkin terdapat perbezaan tertentu antara imej bekas Ketergantungan, apabila salah satu cermin dipadamkan, cermin lain tidak akan berfungsi dengan baik. Pada masa ini, anda boleh cuba memadamkan imej lain dahulu, dan kemudian memadamkan imej yang perlu dipadamkan.
Jika cermin sedang digunakan, ia tidak boleh dipadamkan. Anda boleh menggunakan arahan berikut untuk melihat nama bekas yang menggunakan imej:
$ docker ps | grep IMAGE_ID
di mana IMAGE_ID ialah ID imej. Selepas mencari bekas menggunakan imej, anda boleh menghentikan bekas dan kemudian memadamkan imej.
Docker akan cache imej secara setempat untuk meningkatkan kelajuan tarikan imej. Apabila memadamkan imej, sistem akan menyemak sama ada imej itu wujud dalam cache setempat. Jika ia wujud, ia tidak boleh dipadamkan. Untuk memadamkan imej, anda perlu mengosongkan cache dan menggunakan arahan berikut dalam terminal:
$ docker rmi -f IMAGE_ID
Antaranya, -f bermaksud memadam imej secara paksa, dan IMAGE_ID ialah ID imej.
Apabila imej Docker sedang digunakan, ia akan dikunci dan tidak boleh dipadamkan. Pada masa ini, anda hanya boleh menunggu sehingga imej tidak lagi digunakan sebelum memadamkannya.
2. Bagaimana untuk menyelesaikan masalah bahawa imej Docker tidak boleh dipadamkan
Apabila memadamkan imej Docker, anda boleh kosongkan cache. Daripada baris arahan, gunakan arahan berikut untuk mengosongkan cache:
$ docker system prune -a
Arahan ini mengosongkan semua cache yang tidak digunakan, bekas yang dihentikan, peranti rangkaian dan volum data yatim piatu pada terminal. Selepas memasukkan arahan, tekan kekunci Enter dan tunggu sistem dibersihkan.
Jika cache imej telah dikosongkan tetapi masih tidak boleh dipadamkan, anda boleh menggunakan pemadaman paksa. Dalam terminal, gunakan arahan berikut:
$ docker rmi -f IMAGE_ID
Di mana -f bermaksud operasi paksa, IMAGE_ID ialah ID imej Docker yang perlu dipadamkan. Selepas memasukkan arahan, tekan kekunci Enter dan tunggu sistem memadamnya.
Sebelum memadamkan imej bekas, anda mesti memberhentikan bekas di dalamnya terlebih dahulu. Gunakan arahan berikut pada baris arahan:
$ docker ps
Arahan ini akan menyenaraikan semua bekas yang sedang berjalan. Selepas mencari bekas menggunakan imej yang hendak dipadamkan, gunakan arahan berikut untuk menghentikan bekas:
$ docker stop CONTAINER_NAME
Di mana CONTAINER_NAME ialah nama bekas tersebut Selepas menggunakan arahan ini, bekas itu boleh dihentikan. Jika anda cuba memadamkan imej pada masa ini, anda tidak akan dapat memadamkannya lagi.
Selepas mencuba kaedah di atas, imej Docker masih tidak boleh dipadamkan Anda boleh cuba menutup Docker dan memulakannya semula, yang mungkin menyelesaikan masalah. Dalam baris arahan, gunakan arahan berikut untuk memulakan semula Docker:
$ sudo systemctl restart docker
Arahan ini menetapkan semula Docker dan memuatkan semula konfigurasi Docker. Selepas memulakan semula, cuba padamkan semula imej itu, dan ia mungkin berjaya.
3. Kesimpulan
Ringkasnya, ketidakupayaan untuk memadam imej Docker adalah masalah yang sangat biasa, tetapi penyelesaiannya agak mudah. Dalam operasi sebenar, cuba kaedah di atas untuk berjaya memadam imej Docker yang perlu dipadamkan. Selain itu, anda mesti berhati-hati semasa mengendalikan imej Docker untuk mengelakkan pemadaman data atau imej penting secara tidak sengaja disebabkan oleh kesilapan atau operasi yang tidak betul.
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika imej docker tidak boleh dipadamkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!