Kolēģis reaģēja, ka sistēma nevarēja pieteikties testa vidē, izlēmīgi pārbaudīja uzraudzību un konstatēja, ka pakalpojuma ports ir atvērts, un pieteicās serverī, lai pārbaudītu cietā diska lietojumu, un konstatēja, ka direktorijs, kas uzstādīts uz noteikta diska, ir pilns, kā parādīts zemāk redzamajā attēlā:
Disks ir 100% disks, ko izmanto docker lietojumprogramma, un sākotnēji ir aizdomas, ka nespēja rakstīt žurnālfailus neļauj modulim sniegt pakalpojumus ārpasaulei.
Meklējiet lielus failus un visbeidzot atrodiet tos zem /var/lib/docker/containers/ apakšdirektorijasNoteikts json.log fails aizņem 30G。
Tekošo konteineru žurnālu tīrīšana (simptomu ārstēšana)
Lai konteiners varētu kalpot normāli nekavējoties. Pagaidu risinājums, ātri notīriet šādus failus, atbrīvojiet vietu cietajā diskā, skripts ir šāds:
Ja darbojas docker konteiners, tad pēc žurnālu dzēšanas, izmantojot rm -rf, jūs atradīsit, ka diska vieta netiek atbrīvota, izmantojot df -h. Iemesls ir tāds, ka Linux vai Unix sistēmās, dzēšot failu, izmantojot rm -rf vai failu pārvaldnieku, tas tiks atsaistīts no failu sistēmas direktoriju struktūras. Ja fails tiek atvērts (un tiek izmantots process), process joprojām varēs nolasīt failu un diska vieta tiks aizņemta visu laiku. Pareizā poza ir kaķis /dev/null > *-json.log, un, protams, jūs varat arī restartēt doku pēc tā noņemšanas, izmantojot rm -rf.
Piezīme:Izveidojiet jaunu skriptu brīvā diska direktorijā, pretējā gadījumā skriptu nevar izveidot normāli。
Docker konteinera žurnāla lieluma iestatīšana (pamatcēlonis)
Iestatiet konteinera pakalpojuma maksimālo žurnāla lielumu un pievienojiet parametru, lai iestatītu konteinera žurnāla lielumu, startējot konteineru, piemēram:
max-size=500m, kas nozīmē, ka konteinera baļķu izmēra augšējā robeža ir 500M, max-file=3, kas nozīmē, ka konteineram ir trīs žurnāli, proti, id+.json, id+1.json un id+2.json.
Docker migrēts uz jaunu disku
Sistēmas diskā pastāv ar Docker saistītie dati, sistēmas disks ir tikai 50G liels, un datu disks ir 100G liels, kā pārvietot esošos Docker datus uz datu disku?
Docker, kas instalēts, izmantojot CentOS sistēmas yum metodi, noklusējuma instalācijas direktorijam jābūt: /var/lib/docker
Docker versija < v17.05.0
Tā kā dockerd var norādīt attēla un konteinera krātuves ceļu, izmantojot parametru grafiku, piemēram, –graph=/var/lib/docker, mums ir nepieciešams tikai modificēt konfigurācijas failu, lai norādītu startēšanas parametrus.
Docker konfigurācijas fails var iestatīt lielāko daļu fona procesa parametru, un uzglabāšanas vieta katrā operētājsistēmā ir nekonsekventa, Ubuntu: /etc/default/docker un CentOS: /etc/sysconfig/docker.
Docker versija >= v17.05.0
Tā kā Docker šajā laidienā oficiāli novecoja grafika funkciju, ja datorā ir instalēta Docker versija >= v17.05.0, jūs nevarat modificēt Docker noklusējuma instalācijas (krātuves) direktoriju, norādot grafika parametru konfigurācijas failā /etc/default/docker.
Ir arī citi veidi, kā jaunā Docker versija var sasniegt mūsu mērķi modificēt instalācijas (glabāšanas) direktoriju: modificējot (jaunu) /etc/docker/daemon.json, lai norādītu datu saknes parametra vērtību.
Docker dēmona direktorija konfigurācija:Hipersaites pieteikšanās ir redzama.
Migrācijas sagatavošana: apturiet visas konteineru lietojumprogrammas un pārtrauciet docker pakalpojumus (systemctl stop docker).
Izveidojiet jaunu direktoriju /home/software ar šādu komandu:
Migrējiet direktoriju /var/lib/docker uz direktoriju /home/software/docker (ieteicams to kopēt un pēc tam izdzēst direktorija failu /var/lib/docker, kad tas ir labi), komanda ir šāda:
KopējotNoteikti pievienojiet parametru -a, pretējā gadījumā daži konteineri nedarbosies pareizi!!!!!
Apskatiet visus mīkstos savienojumus un failu punktus pašreizējā direktorijā ar šādu komandu:
Modificējiet failu /etc/docker/daemon.json ar šādu komandu:
Saglabājiet, pēc tam sāciet doku pakalpojumu ar šādu komandu:
Sāciet konteineru, visi testi darbojas normāli, un, visbeidzot,Izdzēsiet mapi /var/lib/docker。
(Beigas)
|