Saya ingin menghapus wadah di Docker, tetapi terjadi kesalahan saat Anda ingin menghapus
Langkah saya selanjutnya sebelum mengeluarkan wadah, lihat daftar wadah yang ada
sts@Yudi:~/docker$ sudo docker ps -as
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
78479ffeba5c ubuntu "/bin/bash" 42 hours ago Exited (0) 42 hours ago sharp_wescoff 81 B (virtual 187.7 MB)
0bd2b54678c7 training/webapp "python app.py" 5 days ago Exited (0) 5 days ago backstabbing_ritchie 0 B (virtual 323.7 MB)
0adbc74a3803 training/webapp "python app.py" 5 days ago Exited (143) 5 days ago drunk_feynman 0 B (virtual 323.7 MB)
yang saya ingin hapus daftarnya, yaitu "training / webapp" tetapi ada kesalahan yang terjadi
sts@Yudi:~/docker$ sudo docker rmi training/webapp
Error response from daemon: conflict: unable to remove repository reference "training/webapp" (must force) - container 0bd2b54678c7 is using its referenced image 54bb4e8718e8
Error: failed to remove images: [training/webapp]
Apakah wadah berjalan dalam gambar?
Tolong bantu
docker
containers
Yuday
sumber
sumber
Jawaban:
Ada perbedaan antara gambar buruh pelabuhan dan wadah buruh pelabuhan. Lihat Pertanyaan SO ini .
Singkatnya, sebuah wadah adalah turunan dari suatu gambar. itulah sebabnya Anda tidak dapat menghapus gambar jika ada wadah berjalan dari gambar itu. Anda hanya perlu menghapus wadah terlebih dahulu.
Pembaruan untuk Docker 1.13+ [Sejak Jan 2017]
Pada dasarnya, perintah di atas juga dapat ditulis ulang, lebih jelas, seperti:
Juga, jika Anda ingin menghapus SEMUA yang bisa Anda gunakan:
sumber
docker rmi -f id
untuk "memaksa" penghapusan.-f
membantu ketika Anda ingin menghapus gambar yang direferensikan dalam beberapa repositori yang merupakan alasan umum lainnya untuk gagal menghapus gambar.docker container ls
hanya daftar kontainer yang berjalan. Ini mengacaukan saya sampai saya menyadari bahwa menambahkan-a
bendera mencantumkan semuanya.Pertama, hapus nama wadah
Hasil
hapus bagian kedua, yang tercantum pada wadah yang akan dihapus
Kedua, lepaskan wadah
Hasil
Periksa konter
sumber
rm `docker ps -aq`
untuk pembersihan, daripada memindahkannya satu per satu. Informasi lebih lanjut di siniJika Anda ingin membersihkan gambar dan wadah buruh pelabuhan
PERHATIAN: ini akan menyiram segalanya
hentikan semua kontainer
hapus semua wadah
hapus semua gambar
sumber
docker rm $(docker ps -a -q)
. Terima kasih!Anda dapat menggunakan
-f
opsi untuk memaksa menghapus wadah.sudo docker rmi -f training/webapp
Anda dapat menghentikan penggunaan wadah
sudo docker stop training/webapp
sebelum menghapussumber
sudo docker stop 0bd2b54678c7
Jika Anda memiliki beberapa wadah docker yang diluncurkan, gunakan ini
$ docker rm $(docker ps -aq)
Ini akan menghapus semua buruh pelabuhan saat ini yang tercantum dalam perintah "ps -aq".
Sumber: aaam di https://github.com/docker/docker/issues/12487
sumber
docker image ls
dan kemudian didocker image rm X
mana masing-masing X diperoleh darils
output.Memperhatikan ini adalah pertanyaan berusia 2 tahun, tetapi masih ingin membagikan solusi saya untuk pertanyaan khusus ini:
Pertama, jalankan
docker container ls -a
daftar semua wadah yang Anda miliki dan tentukan keinginan yang ingin Anda hapus.Kedua, hapus satu dengan perintah
docker container rm <CONTAINER ID>
(Jika wadah saat ini sedang berjalan, Anda harus menghentikannya terlebih dahulu, laridocker container stop <CONTAINER ID>
dengan anggun menghentikan wadah yang ditentukan, jika tidak menghentikannya karena alasan apa pun, atau Anda dapat menjalankannyadocker container kill <CONTAINER ID> to force shutdown of the specified container
).Ketiga, lepaskan wadah dengan menjalankan
docker container rm <CONTAINER ID>
.Terakhir Anda dapat menjalankan
docker image ls -a
untuk melihat semua gambar dan menghapus yang Anda inginkan dengan menjalankandocker image rm <hash>
.sumber
Hapus gambar buruh pelabuhan>
Daftar semua wadah
Daftar semua gambar
Hentikan wadah demi wadah id
Hapus wadah demi wadah id
Jika tidak ingin berhenti dan menghapus, bisa memaksa menghapus
Hapus gambar
Selesai!
sumber
daftar semua gambar buruh pelabuhan Anda:
daftar semua wadah buruh pelabuhan yang ada:
hapus semua wadah yang ditargetkan, yang menggunakan gambar yang ingin Anda hapus:
hapus gambar yang ditargetkan:
sumber
Hapus hanya wadah yang terkait dengan gambar tertentu
sumber