Menggunakan --restart=alwayskebijakan akan menangani restart wadah yang ada jika reboot.
Masalahnya adalah bahwa jika ada beberapa wadah dengan --restart=alwaysketika Anda menjalankan gambar dari versi yang lebih baru seperti yang dibahas dalam buruh pelabuhan - bagaimana Anda menonaktifkan restart otomatis pada wadah? .
Mencoba untuk menghapus wadah secara otomatis ketika ada dengan opsi put docker run --rmjuga akan bermasalah dengan --restart=always
kebijakan karena mereka saling bertentangan .
$ docker run --rm --restart always <image>
Conflicting options: --restart and --rm
Jadi dalam hal ini lebih baik untuk memilih opsi lain: --mulai kembali kebijakan kecuali dihentikan .
$ docker run --rm --restart unless-stopped <image>
Kebijakan ini tidak akan bertentangan dengan docker run --rmtetapi seperti yang dijelaskan dalam dokumentasi buruh pelabuhan :
Mirip dengan --restart=always, kecuali bahwa ketika wadah dihentikan (secara manual atau sebaliknya) , wadah tidak dimulai ulang bahkan setelah daemon Docker dimulai ulang.
Jadi ketika menggunakan --restart unless-stoppedkebijakan ini , untuk memastikan restart berfungsi jika itu berhenti secara tidak sengaja ketika Anda menutup terminal, lakukan sekali di terminal lain seperti di bawah ini:
$ docker ps
$ docker restart <container>
Tunggu sampai proses pembunuhan berakhir di shell sebelumnya, lalu tutup dan tinggalkan ( jangan keluar ).
Dan periksa lagi di terminal yang tersisa jika wadah masih berjalan:
$ docker ps
Jika masih berjalan, Anda dapat mem-boot ulang dengan aman dan memeriksa kembali bahwa aplikasi sedang restart dan melihat buruh pelabuhan Anda bersih tanpa banyak wadah yang tidak digunakan.