Rekan bereaksi bahwa sistem tidak dapat masuk ke lingkungan pengujian, dengan tegas memeriksa pemantauan, dan menemukan bahwa port layanan terbuka, dan masuk ke server untuk memeriksa penggunaan hard disk dan menemukan bahwa direktori yang dipasang pada disk tertentu penuh, seperti yang ditunjukkan pada gambar di bawah ini:
Disk adalah 100% disk yang digunakan oleh aplikasi buruh pelabuhan, dan awalnya diduga bahwa ketidakmampuan untuk menulis file log mencegah modul menyediakan layanan ke dunia luar.
Cari file besar dan akhirnya temukan di bawah subdirektori /var/lib/docker/containers/File json.log tertentu memakan 30G。
Membersihkan Log Kontainer Berjalan (Perawatan Gejala)
Agar wadah dapat segera disajikan secara normal. Solusi sementara, bersihkan file seperti itu dengan cepat, kosongkan ruang hard disk, skripnya adalah sebagai berikut:
Jika kontainer buruh pelabuhan sedang berjalan, maka setelah menghapus log menggunakan rm -rf, Anda akan menemukan bahwa ruang disk tidak dikosongkan melalui df -h. Pasalnya, pada sistem Linux atau Unix, menghapus file melalui rm -rf atau pengelola file akan melepas tautannya dari struktur direktori sistem file. Jika file dibuka (dan ada proses yang digunakan), proses akan tetap dapat membaca file dan ruang disk akan digunakan sepanjang waktu. Pose yang benar adalah cat /dev/null > *-json.log, dan tentu saja Anda juga dapat memulai ulang buruh pelabuhan setelah menghapusnya melalui rm -rf.
Pernyataan:Buat skrip baru di direktori disk bebas, jika tidak, skrip tidak dapat dibuat secara normal。
Mengatur Ukuran Log Kontainer Docker (Akar Penyebab)
Atur ukuran log maksimum layanan kontainer, dan tambahkan parameter untuk mengatur ukuran log kontainer saat memulai kontainer, misalnya:
max-size=500m, yang berarti bahwa batas atas ukuran log wadah adalah 500M, max-file=3, yang berarti bahwa wadah memiliki tiga log, yaitu id+.json, id+1.json, dan id+2.json.
Docker bermigrasi ke disk baru
data terkait buruh pelabuhan ada di disk sistem, disk sistem hanya berukuran 50G, dan disk data berukuran 100G, bagaimana cara memindahkan data buruh pelabuhan yang ada ke disk data?
Untuk buruh pelabuhan yang diinstal menggunakan metode yum sistem CentOS, direktori instalasi default harus: /var/lib/docker
Docker versi < v17.05.0
Karena dockerd dapat menentukan jalur penyimpanan gambar dan kontainer melalui grafik parameter, seperti –graph=/var/lib/docker, kita hanya perlu memodifikasi file konfigurasi untuk menentukan parameter startup.
File konfigurasi Docker dapat mengatur sebagian besar parameter proses latar belakang, dan lokasi penyimpanan di setiap sistem operasi tidak konsisten, di Ubuntu: /etc/default/docker, dan di CentOS: /etc/sysconfig/docker.
Docker versi >= v17.05.0
Karena Docker secara resmi tidak digunakan lagi fitur grafik dalam rilis ini, jika Anda telah menginstal Docker versi >= v17.05.0 di komputer Anda, Anda tidak dapat mengubah direktori penginstalan (penyimpanan) default Docker dengan menentukan parameter grafik dalam file konfigurasi /etc/default/docker.
Ada cara lain di mana versi baru Docker dapat mencapai tujuan kami untuk memodifikasi direktori instalasi (penyimpanan): dengan memodifikasi (baru) /etc/docker/daemon.json untuk menentukan nilai parameter data-root.
Konfigurasi direktori daemon Docker:Login hyperlink terlihat.
Persiapan migrasi: Hentikan semua aplikasi kontainer dan hentikan layanan buruh pelabuhan (systemctl stop docker).
Buat direktori baru di /home/software dengan perintah berikut:
Migrasikan direktori /var/lib/docker ke direktori /home/software/docker (disarankan untuk menyalinnya, lalu hapus file direktori /var/lib/docker saat baik-baik saja), perintahnya adalah sebagai berikut:
Saat menyalinPastikan untuk menambahkan parameter -a, jika tidak, beberapa wadah tidak akan berfungsi dengan baik!!!!!
Lihat semua koneksi lunak dan titik file di direktori saat ini dengan perintah berikut:
Ubah file /etc/docker/daemon.json dengan perintah berikut:
Simpan, lalu mulai layanan buruh pelabuhan dengan perintah berikut:
Mulai kontainer, semua pengujian berjalan normal, dan akhirnya,Hapus folder /var/lib/docker。
(Akhir)
|