Setiap docker run
perintah, atau setiap RUN
perintah di dalam Dockerfile, membuat sebuah wadah. Jika wadah tidak lagi berjalan masih bisa dilihat docker ps -a
.
Haruskah saya khawatir dengan memiliki daftar besar wadah yang tidak berjalan? Haruskah saya mengeluarkan docker rm
pada wadah yang tidak berjalan?
Saya tidak yakin kinerja atau memori / memori penyimpanan apa yang dikenakan kontainer yang tidak berjalan ini.
docker exec
perintah telah ditambahkan beberapa waktu lalu, lihat docs.docker.com/reference/commandline/cli/#exec - itu akan menjalankan perintah dari wadah berjalan.Jawaban:
Wadah yang tidak berjalan tidak mengambil sumber daya sistem selain ruang disk.
Biasanya baik untuk membersihkan setelah Anda sendiri, tetapi jika Anda memiliki banyak dari mereka duduk di sekitar itu seharusnya tidak memperlambat kinerja sama sekali.
Jika Anda melihat adanya pelambatan saat menjalankan perintah buruh pelabuhan dengan banyak kontainer yang terhenti, mungkin ada bug di buruh pelabuhan, dan Anda harus mengirimkan bug.
sumber
RUN
perintah sekarang telah pindah ke: docs.docker.io/en/latest/reference/builder/#runThe
docker run
dokumentasi menjelaskan cara otomatis membersihkan wadah dan menghapus sistem file ketika keluar wadah:Di atas menunjukkan bahwa secara default wadah tidak dihapus, tetapi menambahkan
--rm=true
atau hanya tulisan pendek--rm
akan berfungsi seperti:Ketika Anda keluar dari wadah itu akan dihapus secara otomatis.
Anda dapat menguji ini dengan mendaftarkan wadah buruh pelabuhan Anda dalam satu jendela terminal:
Dan kemudian di jendela lain jalankan perintah ini untuk menjalankan beberapa kontainer buruh pelabuhan yang semuanya akan secara otomatis keluar setelah tidur hingga 10 detik.
sumber
-rm
sudah usang dan akan dihapus pada suatu waktu, gunakan--rm
saja.Jika Anda menjalankan wadah dengan volume dan tidak menggunakan buruh pelabuhan rm -v untuk menghapusnya maka volume tidak dihapus setelah Anda menghapus wadah. Juga ada masalah dengan driver penyimpanan vfs. Jika Anda lupa membersihkan, volume akan memakan ruang disk Anda.
sumber
Untuk menilai seberapa banyak penyimpanan yang tidak menggunakan wadah Docker gunakan, Anda dapat menjalankan:
--size
: tampilkan ukuran file total (FYI: Jelaskan kolom SIZE di "docker ps -s" dan apa arti kata kunci "virtual" # 1520 ).--filter "status=exited"
: daftar hanya menghentikan kontainer .Secara setara , Anda dapat menjalankan:
docker container ls --filter "status=exited"
Anda juga dapat menggunakan perintah
docker system df
(diperkenalkan di Docker 1.13.0, Januari 2017) untuk melihat penggunaan disk docker, misalnya:sumber