Apabila menggunakan Docker, anda mungkin menghadapi beberapa masalah biasa. Salah satunya ialah ralat berlaku semasa cuba memadamkan bekas. Ini boleh disebabkan oleh pelbagai sebab. Mari kita lihat beberapa sebab biasa mengapa pemadaman bekas Docker gagal dan cara membetulkannya.
Jika anda ingin memadamkan bekas yang sedang berjalan, anda akan menghadapi ralat berikut:
Error response from daemon: You cannot remove a running container
Pada masa ini, anda hanya perlu untuk menghentikan bekas. Boleh:
docker stop <container_id>
Kemudian lakukan operasi pemadaman:
docker rm <container_id>
Jika bekas telah berhenti berjalan , tetapi operasi pemadaman masih gagal dan Ralat dikembalikan, kemungkinan besar disebabkan oleh daemon Docker masih menandakan bekas sebagai "berjalan". Anda boleh menggunakan perintah docker ps
untuk menyemak sama ada bekas telah benar-benar berhenti berjalan. Jika status menunjukkan "Keluar", bekas telah dihentikan.
Jika bekas telah dihentikan tetapi tidak boleh dialih keluar, ia mungkin pepijat dalam daemon Docker Anda boleh menggunakan arahan berikut untuk memintas ralat:
docker rm -f <container_id>
Arahan ini akan. muncul bendera "force" (force), yang akan memaksa bekas itu dipadamkan. Ambil perhatian bahawa ini mungkin mengakibatkan kehilangan data atau masalah lain, jadi disyorkan untuk menggunakan pilihan ini dengan berhati-hati.
Jika bekas itu dipautkan ke volum atau storan data, bekas itu sendiri tidak boleh dipadamkan secara langsung. Jumlah atau storan data yang berkaitan mesti dipadamkan sebelum bekas yang berkaitan boleh dipadamkan. Anda boleh menggunakan arahan berikut untuk melihat sama ada bekas dipautkan kepada volum data:
docker inspect <container_id>
Dalam JSON yang dikembalikan oleh arahan, semak bahagian Mounts
untuk melihat sama ada bekas itu dipautkan ke volum data. Contohnya:
"Mounts": [ { "Type": "bind", "Source": "/host/path", "Target": "/container/path", "ReadOnly": false, "Consistency": "consistent" } ]
Jika bekas dipautkan kepada volum data, volum data mesti dipadamkan sebelum bekas itu berjaya dipadamkan. Anda boleh menggunakan arahan berikut untuk memadamkan volum data:
docker volume rm <volume_name>
Jika kontena sedang diduduki oleh docker-compose atau alatan lain, ia tidak boleh dipadamkan secara langsung. Anda boleh menggunakan arahan berikut untuk menghentikan semua bekas yang dipautkan oleh bekas ini:
docker-compose down
sebelum cuba memadamkan bekas.
Jika ralat dikembalikan semasa cuba memadamkan bekas, menunjukkan bahawa bekas itu tidak wujud, mungkin bekas itu telah dipadamkan. Anda boleh menggunakan arahan berikut untuk melihat senarai bekas yang dipadamkan baru-baru ini:
docker ps -a --filter status=exited
Kemudian gunakan arahan berikut untuk memadamkan bekas yang dipadam:
docker rm <container_id>
Itu sahaja Beberapa sebab biasa kegagalan memadam bekas Docker dan penyelesaiannya. Apabila bekerja dengan Docker, anda kadangkala menghadapi beberapa masalah, yang boleh timbul disebabkan oleh beberapa sebab. Adalah penting untuk belajar mendiagnosis dan menyelesaikan masalah ini dengan cepat. Semoga artikel ini bermanfaat kepada anda.
Atas ialah kandungan terperinci Mengapa pemadaman bekas buruh pelabuhan gagal? Bagaimana untuk menyelesaikannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!