Dalam dokumentasi buruh pelabuhan dari pemangkasan gambar buruh pelabuhan adalah mungkin untuk menggunakan flag -a untuk
Hapus semua gambar yang tidak digunakan, tidak hanya yang menggantung
dan kemudian
Hapus semua gambar yang menggantung. Jika -a ditentukan, juga akan menghapus semua gambar yang tidak direferensikan oleh wadah apa pun.
Dapatkah seseorang menjelaskan kepada saya apa itu gambar yang menggantung dan apa perbedaan antara gambar yang menggantung dan yang tidak digunakan?
prune
tidak direkomendasikan dalam produksi /Jawaban:
Gambar yang tidak digunakan berarti belum ditetapkan atau digunakan dalam wadah. Misalnya, ketika menjalankan
docker ps -a
- ini akan mencantumkan semua wadah Anda yang sudah keluar dan sedang berjalan. Gambar apa pun yang ditampilkan digunakan di dalam salah satu wadah adalah "gambar bekas".Di sisi lain, gambar yang menggantung hanya berarti Anda telah membuat gambar yang baru, tetapi gambar itu tidak diberi nama baru. Jadi gambar lama yang Anda miliki menjadi "gambar menggantung". Gambar lama itu adalah "
<none>
" yang tidak ditandai dan menampilkan " " namanya saat Anda menjalankannyadocker images
.Saat berjalan
docker system prune -a
, itu akan menghapus gambar yang tidak digunakan dan menggantung. Oleh karena itu gambar apa pun yang digunakan dalam wadah, apakah sudah keluar atau sedang berjalan, TIDAK akan terpengaruh.sumber
docker system prune --all --filter "until=24h"
mempertahankan gambar terbaru jugadocker system prune -a
menghapus kontainer yang terhenti. Jadi itu harus menghapus gambar yang terkait hanya dengan wadah yang keluar juga, kan?Cara teraman dan termudah untuk membersihkan Gambar Menggantung
Gambar Docker terdiri dari beberapa lapisan. Menggantung gambar, adalah lapisan yang tidak memiliki hubungan dengan gambar apa pun yang ditandai. Mereka tidak lagi melayani tujuan dan menggunakan ruang disk.
Untuk daftar gambar yang menggantung dengan menambahkan bendera filter,
-f
dengan nilaidangling=true
kedocker images
.Daftar gambar Menggantung
Hapus Gambar yang Menggantung
ATAU
Ketika kami menjalankan pekerjaan cron untuk menghapus hal-hal yang menggantung, gunakan hal di atas untuk memastikan pekerjaan tersebut berhasil. Seperti di Jenkins jika kita menjalankan pekerjaan gaya bebas dengan pekerjaan commo beloow tidak akan pernah gagal bahkan jika tidak ada barang yang menggantung di mesin.
Ini adalah cara paling aman dan termudah untuk membersihkan gambar yang menggantung dan mendapatkan kembali ruang disk kami untuk digunakan.
sumber
docker images
yang digantung. Bagaimana cara memeriksa ukurannya? Juga, gambar yang memiliki nama dan tag karena tidak ada dalamdocker images -a
adalah gambar perantara. Bisakah mereka dihapus dan bagaimana memeriksa ukurannya?Gambar di buruh pelabuhan dirujuk oleh intisari sha256, sering disebut sebagai id gambar. Intisari itulah yang Anda butuhkan agar gambar itu ada di host buruh pelabuhan. Biasanya, Anda akan memiliki tag yang mengarah ke intisari ini, mis. Tag busybox: titik terbaru saat ini ke id gambar c30178c523 ... di sistem saya. Beberapa tag dapat mengarah ke gambar yang sama, dan tag apa pun dapat diubah untuk menunjuk ke id yang berbeda, misalnya saat Anda menarik salinan busybox baru: terbaru atau membuat versi baru dari gambar aplikasi Anda.
Gambar menggantung adalah gambar yang tidak memiliki tag, dan tidak memiliki gambar anak (misalnya gambar lama yang menggunakan versi yang berbeda
FROM busybox:latest
), menunjuk ke sana. Mereka mungkin memiliki tag yang menunjuk ke mereka sebelumnya dan tag itu kemudian berubah. Atau mereka mungkin belum pernah memiliki tag (mis. Output daridocker build
tanpa menyertakan opsi tag). Ini biasanya aman untuk dihapus selama tidak ada wadah yang masih berjalan yang merujuk pada id gambar lama. Alasan utama untuk menjaga mereka di sekitar adalah untuk membangun tujuan caching.Selain itu, Anda mungkin telah mengunduh gambar yang saat ini tidak digunakan oleh kontainer (termasuk kontainer yang dihentikan). Ini sama sekali berbeda dari gambar yang menggantung dan mungkin aman untuk dihapus selama Anda tidak berencana untuk menggunakannya di masa depan atau tidak keberatan mengunduh salinan lain saat Anda membutuhkannya.
sumber
docker images -a
) juga disebut gambar menggantung? Apakah mereka dibersihkan dengan docker image prune?Gambar yang menggantung adalah lapisan yang tidak memiliki hubungan dengan gambar yang ditandai. Mereka tidak lagi melayani tujuan dan menggunakan ruang disk.
Gambar yang tidak digunakan adalah gambar yang belum ditetapkan atau digunakan dalam wadah.
Daftar gambar Menggantung
sumber
gambar yang menggantung adalah gambar yang tidak ditandai. Perintah berikut memberikan daftar gambar yang menggantung.
docker image prune
menghapus semua gambar yang menggantung.Gambar yang tidak digunakan adalah gambar yang memiliki tag tetapi saat ini tidak digunakan sebagai wadah. Anda mungkin atau mungkin tidak membutuhkannya di masa depan.
docker image prune -a
hapus semua gambar yang menjuntai dan tidak digunakan.Anda biasanya tidak ingin menghapus semua gambar yang tidak digunakan sampai beberapa saat. Karena itu lebih baik untuk menghapus dengan filter.
docker image prune -f --filter "until=6h"
sumber
docker image prune -a -f --filter "until=6h"
juga menghapus gambar yang menggantung?docker image prune -f --filter "until=6h"
- karena tidak ada -a - lalu kenapa itu akan menghapus gambar yang tidak digunakan?Saya melihat perintah yang berguna (alias) untuk menghapus gambar yang menggantung, milik andyneff di sini: https://forums.docker.com/t/how-to-delete-cache/5753 :
sumber
Dalam tangkapan layar gambar, nama "tidak ada" adalah gambar yang menggantung. Gambar yang menggantung hanya berarti bahwa Anda telah membuat bangunan gambar yang baru, tetapi itu tidak diberi nama baru. Jadi gambar lama yang Anda miliki menjadi "gambar menggantung". Gambar lama itu adalah yang tidak diberi tag dan menampilkan "" namanya saat Anda menjalankan gambar buruh pelabuhan.
docker system prune -a
, itu akan menghapus gambar yang tidak terpakai dan menggantung. Oleh karena itu, gambar apa pun yang digunakan dalam wadah, apakah sudah keluar atau sedang berjalan, TIDAK akan terpengaruh.sumber