Sebagai teknologi virtualisasi yang terkenal di dunia, Docker telah menjadi salah satu ciri standard aliran kerja aplikasi moden. Walau bagaimanapun, walaupun kemudahan yang Docker bawa, sesetengah pengguna mungkin menghadapi beberapa masalah yang sukar. Salah satunya ialah masalah Docker tidak boleh ditutup. Dalam artikel ini, kami akan meneroka beberapa kesukaran yang mungkin anda hadapi dan menyediakan penyelesaian untuk membetulkan Docker tidak dimatikan.
Punca yang berkemungkinan
Pertama, mari kita lihat beberapa kemungkinan sebab Docker tidak boleh ditutup:
Untuk setiap sebab yang mungkin, kami akan menyediakan penyelesaian secara berasingan.
Penyelesaian
Jika Docker gagal dimatikan, sebab pertama yang mungkin ialah bekas sedang digunakan atau titik lekap. Untuk membetulkannya, anda boleh cuba melihat bekas yang sedang digunakan dengan melakukan perkara berikut:
$ docker ps
Jika anda melihat bekas sedang digunakan, cuba hentikan dan padamkannya:
$ perhentian buruh pelabuhan [ID KONTAINER]
$ pelabuhan pelabuhan rm [ID KONTAINER]
Jika terdapat bekas lain sedang digunakan, lakukan operasi yang sama sehingga semua bekas dihentikan dan dipadamkan.
Begitu juga, jika anda pasti anda menggunakan titik pelekap, gunakan arahan umount untuk cuba menyahlekap:
$ umount [PATH]
Jika arahan umount tidak berfungsi Fungsi, gunakan arahan pelebur untuk mencari proses yang menggunakan titik pelekap:
$ fuser -m [PATH]
Kemudian, gunakan perintah bunuh untuk menamatkan proses ini:
$ kill -9 [PID]
Kini anda sepatutnya dapat menghentikan Docker dan menutupnya.
Jika Docker tidak boleh ditutup, sebab lain yang mungkin ialah daemon Docker telah ranap atau telah ditinggalkan. Untuk menyelesaikan isu ini, anda boleh mencuba yang berikut:
$ sudo service docker status
Jika anda lihat Daemon Docker sedang berjalan, sila cuba hentikannya:
$ sudo service docker stop
$ sudo killall docker
Sebagai alternatif, gunakan arahan berikut untuk mencari daemon Docker yang sedang berjalan:
$ ps aux | grep docker
Selepas dijalankan arahan di atas, anda Anda akan melihat PID daemon Docker yang sedang berjalan. Gunakan perintah bunuh dan tentukan PID untuk menamatkannya.
$ sudo rm -rf /var/lib/ docker
Sekarang, mulakan semula daemon Docker:
$ sudo service docker start
Docker anda harus ditutup seperti biasa.
Jika Docker gagal dimatikan, sebab terakhir yang mungkin adalah keletihan sumber. Ini termasuk ruang cakera, memori dan sumber pemproses.
Untuk menyelesaikan masalah ini, anda boleh cuba melepaskan sumber. Semak penggunaan ruang cakera menggunakan arahan berikut:
$ df -h
Jika anda kekurangan ruang cakera, padamkan fail dan bekas yang tidak diperlukan. Gunakan arahan berikut untuk melihat penggunaan memori:
$ free -m
Jika sumber memori kehabisan, cuba kosongkan memori. Cache cakera memori boleh dibersihkan menggunakan arahan berikut:
$ sudo sync 3 |. menjalankan proses. Cari proses berjalan menggunakan arahan berikut:
$ atas
Gunakan arahan bunuh atau alatan lain untuk menamatkan proses yang tidak diingini.
Ringkasan
Walaupun Docker ialah teknologi virtualisasi yang hebat, kadangkala terdapat beberapa masalah, seperti tidak dapat ditutup. Dalam artikel ini, kami meneroka kemungkinan punca dan menyediakan penyelesaian untuk membetulkan Docker tidak dimatikan.
Sama ada bekas atau titik lekap aktif, daemon Docker telah ranap atau ketinggalan, atau sumber telah kehabisan, kami telah menyediakan beberapa cara untuk menyelesaikan isu tersebut. Jika anda menghadapi masalah yang sama, sila cuba kaedah ini supaya anda boleh mematikan dan memulakan semula Docker anda dengan lancar.
Atas ialah kandungan terperinci Docker tidak boleh ditutup? Anda mungkin memerlukan kaedah ini untuk menyelesaikan masalah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!