Saya mencoba untuk menghapus kontainer buruh pelabuhan dengan perintah ini:
docker rmi <Image-Id>
Jelas, saya telah mengganti Image-Id dengan Id yang saya gunakan:
docker images
Tetapi saya melihat kesalahan di bawah ini:
Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx
docker
docker-container
Mehrdad Babaki
sumber
sumber
Anda perlu menghapus penampung dengan
docker rm
, lalu Anda dapat menghapus gambar yang digunakannyadocker rmi
.sumber
Anda mungkin juga menemukan bahwa Anda telah menghentikan kontainer yang menyebabkan kunci. Hapus ini terlebih dahulu menggunakan:
Di sini kami membuat daftar proses buruh pelabuhan hanya dengan ID dan kemudian menghapusnya; Namun, buruh pelabuhan hanya akan menghapus kontainer yang dihentikan.
Selanjutnya kembali dan hapus gambar menggunakan:
sumber
Anda harus membuang wadah terlebih dahulu.
Dipaksa adalah metode terakhir yang harus diambil.
sumber
Jika
docker rmi <image-id>
tidak berhasil, coba ini:Hentikan semua kontainer yang sedang berjalan
Hapus semua wadah
Hapus semua gambar
sumber
Selain jawaban lain, saya memiliki masalah yang sama menggunakan Docker untuk Mac tetapi
docker ps -a
tidak menunjukkan kontainer yang sedang berjalan.docker images
Pertunjukan lari :Semua gambar ini digunakan oleh aplikasi Docker jika Anda mengaktifkan Kubernetes. Di preferensi Docker untuk Mac, ada bagian untuk Kubernetes. Jika Anda mengklik "Tampilkan penampung sistem (lanjutan)", mereka akan muncul di
docker ps
.Jika Anda ingin menghapus gambar-gambar ini, Anda perlu menonaktifkan Kubernetes melalui aplikasi Docker untuk Mac, lalu coba lagi.
sumber
Container Docker berjalan di atas image docker, Anda hanya dapat menghapus image jika image tersebut tidak dilampirkan ke container apa pun.! Jadi, Anda harus menghentikan container dan menghapus container, lalu Anda dapat menghapus image id.
pekerja pelabuhan berhenti container-id dan docker rm container-id
Kemudian coba hapus image docker rmi image-id
Beberapa info tambahan diberikan di tautan di bawah ini. Bersulang.!
https://docs.docker.com/config/pruning/
sumber
Jika tujuannya adalah untuk mendapatkan kembali ruang disk, pendekatan lain yang belum disebutkan adalah dengan menggunakan
docker system prune
. Ini akan mencetak peringatan yang harus diperhatikan:Ini tidak akan menghapus gambar yang diberi nama, tetapi akan membersihkan gambar yang tidak dinamai. Bergantung pada ukuran wadah yang Anda gunakan, ini dapat menghemat banyak ruang disk.
sumber
Jika Anda telah berubah dalam
Dockerfile
dan jika Anda menggunakan docker compose, Anda hanya dapat membangun kembali citra Anda dengan rundocker-compose
dengan--build
pilihan!sumber
Dockerfile
Anda shoudn't menghapus gambar sendiri hanya menggunakan bendera--build
dengandocker-compose
sehingga membangun kembali citra baru dengan perubahan