Lebih
Bagaimana saya bisa menghapus Docker's gambar?
I've gambar berikut:
alex@alexvps:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 70c0e19168cf 5 days ago 1.069 GB
<none> <none> c2ce80b62174 8 days ago 399.2 MB
<none> <none> 60afe4036d97 8 days ago 325.1 MB
dan ketika saya mencoba untuk menghapus salah satu dari mereka saya mendapatkan:
alex@alexvps:~$ sudo docker rmi 60afe4036d97
Error: Conflict, 60afe4036d97 wasn't deleted
2014/01/28 00:54:00 Error: failed to remove one or more images
Bagaimana saya bisa menghapus mereka? Mengapa ada konflik seperti ini?
256
17
Dalam rangka untuk menghapus semua gambar, gunakan perintah yang diberikan
Dalam rangka untuk menghapus semua wadah, gunakan perintah yang diberikan
Peringatan: Ini akan menghancurkan semua gambar anda dan kontainer. Itu tidak akan mungkin untuk mengembalikan mereka!
Solusi ini disediakan oleh Techoverflow.net.
Alasan yang mungkin: Alasannya bisa bahwa gambar ini saat ini digunakan oleh menjalankan wadah. Dalam kasus seperti ini, anda bisa klik disini untuk menjalankan wadah, berhenti relevan wadah dan kemudian menghapus gambar:
Jika anda cannnot menemukan wadah docker ps, anda dapat menggunakan ini untuk membuat daftar semua sudah keluar dari wadah dan memindahkan mereka.
Catatan: hati-hati menghapus semua keluar wadah sekaligus dalam kasus anda gunakan
Volume-Hanya
kontainer. Ini menginap diKeluar
negara, tapi berisi data yang berguna.Alasan untuk kesalahan ini adalah bahwa meskipun gambar tidak memiliki tag, di sana masih ada sebuah wadah yang dibuat pada gambar itu yang mungkin di
keluar
negara. Jadi, anda perlu memastikan bahwa anda telah berhenti dan menghapus semua wadah yang dibuat pada gambar-gambar tersebut. Perintah berikut ini akan membantu anda dalam menghilangkan semua wadah yang tidak menjalankan:Sekarang ini menghilangkan semua menjuntai non-menengah
<none>
gambar:Gambar yang bisa digunakan saat ini dengan menjalankan wadah, sehingga anda pertama kali harus berhenti dan menghapus wadah(s).
Maka anda bisa mencoba menghapus gambar:
Anda harus yakin bahwa gambar ini doesn't tergantung pada gambar yang lain (jika tidak, anda harus menghapusnya terlebih dahulu).
Saya punya kasus aneh di mana saya telah tidak ada lagi wadah yang masih hidup (
docker ps -a
kembali apa-apa) tetapi saya tidak't mengelola untuk menghapus foto dan gambar-ketergantungan.Untuk memecahkan kasus-kasus khusus anda bisa memaksa penghapusan gambar ini:
Di Bash:
Ini akan menghapus semua gambar dengan nama "<none>". Saya menemukan gambar-gambar yang berlebihan.
Saya menemukan jawabannya dalam perintah ini:
Saya punya masalah ketika saya menghapus beberapa gambar yang sedang digunakan, dan saya didn't menyadari (menggunakan
docker ps -a
).Sejak Docker ver. 1.13.0 (januari 2017) ada's
sistem memangkas
perintah:Pertama, hapus semua kontainer menggunakan perintah berikut
Kemudian, hapus gambar dengan ID nya menggunakan perintah berikut
Selain Sunny's jawaban:
Dalam rangka untuk menghapus semua gambar pada mesin Windows (dengan Docker untuk Windows) di jendela PowerShell, lakukan:
Dalam rangka untuk menghapus semua kontainer pada mesin Windows (dengan Docker untuk Windows) di jendela PowerShell, lakukan:
Anda harus menghentikan/menghapus semua yang tidak perlu kontainer yang dibuat pada gambar pertama.
Melihat-lihat: https://stackoverflow.com/questions/17236796/how-to-remove-old-docker-io-containers.
Setelah itu gunakan @marcell solusi.
Menghapus semua kontainer
Memaksa menghapus semua gambar Docker
Anda hanya bisa aadd
--force
pada akhir perintah. Seperti:Untuk membuatnya lebih cerdas anda dapat menambahkan:
Di sini di
docker ps
$1 adalah kolom pertama, yaitu Docker container ID.Dan
gambar docker
$3 kolom ketiga, yaitu gambar Docker ID.Yang paling versi kompak dari perintah untuk menghapus semua untagged gambar ini:
Untuk menghapus beberapa gambar Docker anda harus menjalankan perintah berikut:
Jadi, untuk menghapus semua gambar Docker anda bisa menjalankan perintah berikut:
Sekarang, jika anda ingin menghapus semua Docker gambar (termasuk gambar yang di gunakan), anda dapat menambahkan bendera
-f
, misalnya:Gunakan
atau
Menghapus semua menggantung gambar. Jika
-a
yang ditentukan, hal ini juga akan menghapus semua gambar yang tidak direferensikan oleh setiap wadah.Catatan: Anda diminta untuk konfirmasi sebelum memangkas menghilangkan apa-apa, tapi anda tidak akan ditampilkan daftar dari apa yang kemungkinan akan dihapus. Selain itu,
docker gambar ls
tidak mendukung negatif penyaringan, sehingga sulit untuk memprediksi apa gambar akan benar-benar dihapus.Seperti yang dinyatakan di bawah Docker's dokumentasi untuk memangkas.
Jika anda ingin secara otomatis/berkala membersihkan keluar wadah dan memindahkan gambar dan volume yang tidak't di gunakan oleh menjalankan wadah anda dapat men-download gambar Docker
air lelehan/docker-pembersihan
.Dengan cara itu anda don't harus pergi membersihkannya dengan tangan.
Hanya menjalankan:
Ini akan berjalan setiap 30 menit (atau selama yang anda set menggunakan DELAY_TIME=1800 opsi) dan membersihkan keluar wadah dan gambar.
Rincian lebih lanjut: https://github.com/meltwater/docker-cleanup/blob/master/README.md
Saya telah menemukan solusi dengan Powershell script yang akan melakukannya untuk saya.
Script pertama menghentikan semua kontainer dari menghapus semua wadah dan kemudian menghapus gambar yang dinamai oleh pengguna.
Lihat di sini http://www.devcode4.com/article/powershell-remove-docker-containers-and-images