CUM SA

Cum să verificați dacă Docker Daemon sau un container rulează – CloudSavvy IT

Docker folosește o arhitectură bazată pe daemon în care CLI se conectează la un proces de lungă durată care rulează separat pe mașina dvs. sau pe o gazdă la distanță. Comenzile CLI nu vor funcționa și containerele dvs. vor fi de obicei offline dacă daemonul se oprește.

Iată cum puteți verifica dacă demonul Docker este activat, astfel încât să puteți diagnostica probleme cu containerele și docker comanda. Când demonul nu rulează, veți vedea un mesaj „Nu se poate conecta la demonul Docker” de fiecare dată când utilizați docker CLI.

Verificarea cu Systemctl

Puteți verifica starea lui Docker cu systemctl pe distribuțiile care utilizează Systemd pentru gestionarea serviciilor. Aceasta acoperă majoritatea sistemelor de operare populare, inclusiv Debian, Ubuntu, CentOS și Red Hat.

sudo systemctl status docker

Verificați ce este afișat sub „Activ”. Dacă vezi active (running) în verde, daemonul Docker rulează și containerele dvs. ar trebui să fie activate.

Cum sa verificati daca Docker Daemon sau un container ruleaza

O stare activă de inactive indică faptul că serviciul s-a oprit. Încercați să-l aduceți alergând sudo systemctl start docker. Starea ar trebui să se schimbe în active (running) după ce începe demonul.

Dacă vedeți o stare de failed în roșu, demonul nu a putut porni din cauza unei erori. Ar trebui să examinați jurnalele de pornire ale serviciului afișate mai târziu în systemctl ieșirea comenzii, deoarece acestea conțin de obicei sugestii care vă permit să aflați ce a mers prost.

Când nu există o rezoluție evidentă disponibilă, porniți manual demonul în modul de depanare pentru a obține mai multe informații despre rutina de pornire.

sudo dockerd --debug

Reporniți mașina gazdă sau reporniți serviciul Docker cu systemctl restart docker poate ajuta la atenuarea problemelor tranzitorii.

Citeste si  Cum să organizați o sesiune de întrebări și răspunsuri în timpul unei prezentări Google Slides

Inspectarea detaliilor procesului

O altă modalitate de a verifica dacă un demon Docker rulează este prin inspectarea fișierului său ID de proces. Demonul își scrie ID-ul procesului în /var/run/docker.pid de fiecare dată când pornește. Când acest fișier există, Docker ar trebui să ruleze și să fie pregătit pentru conexiunile CLI.

cat /var/run/docker.pid

Puteți utiliza această tehnică pentru a crea scripturi programatice care verifică dacă demonul este în viață. Citirea fișierului vă oferă ID-ul pe care îl puteți utiliza cu instrumente precum top pentru a obține mai multe informații despre procesul Docker:

cat /var/run/docker.pid

# process id = 1000

top -p 1000

1630432144 545 Cum sa verificati daca Docker Daemon sau un container ruleaza

Puteți obține, de asemenea, ID-ul procesului cupidofcomanda. Aceasta acceptă un nume de proces și returnează primul ID de potrivire:

pidof dockerd

# process id = 1000

# view information with top
top -p `pidof dockerd`

Există un demon Docker activ pe mașina dvs. dacă top se potriveste a dockerd proces. Acest lucru poate fi mai fiabil decât căutat docker.pid – dacă demonul se blochează, docker.pid ar putea rămâne în urmă după dispariția procesului.

Gestionarea fișierelor de proces blocate

Demonul va refuza să repornească atunci când este prezent un fișier PID. Acest lucru vă poate bloca într-o buclă de repornire dacă fișierul este orfan de la o rulare anterioară. Veți vedea acest mesaj când rulați dockerd:

failed to start daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid

Utilizare pidof dockerd pentru a se asigura că Docker s-a oprit efectiv. Continuați dacă comanda nu emite nicio ieșire, confirmând că nu există niciun proces de rulare.

Alerga sudo rm /var/run/docker.pid pentru a șterge vechiul fișier ID proces. Demonul ar trebui să înceapă acum cu succes data viitoare când rulați dockerdsau service docker start.

Problemele cu fișierele PID sunt întâlnite frecvent atunci când faceți instantanee unei mașini virtuale și apoi creați o nouă instanță din imagine. Fișierul de proces va fi inclus în instantaneu, determinând demonul Docker din noua VM să creadă că rulează deja.

Citeste si  Cum să opriți notificările cardio-fitness reduse pe Apple Watch

Verificarea containerelor individuale

Starea containerelor individuale este accesată prin docker ps comanda. Aceasta emite un tabel care conține detaliile tuturor containerelor care rulează în prezent.

docker ps

1630432144 96 Cum sa verificati daca Docker Daemon sau un container ruleaza

Combinați docker ps comanda cu grep pentru a verifica cu ușurință dacă un anumit container rulează după ID sau nume:

docker ps | grep my-container-name

Acum rezultatul va fi filtrat pentru a afișa containerul pe care l-ați selectat. Nu vor exista înregistrări dacă containerul nu rulează.

1630432145 253 Cum sa verificati daca Docker Daemon sau un container ruleaza

Containerele oprite sunt afișate folosind docker ps -a. Un container oprit poate fi pornit cu docker start comanda:

docker start my-container

Containerul se va muta apoi în obișnuit docker ps ieșire. O poți opri din nou cu docker stop my-container.

Concluzie

Aveți la dispoziție mai multe opțiuni atunci când doriți să aflați dacă Docker rulează. Există managerul de servicii al sistemului dvs. de operare, docker.pid fișier și instrumente regulate de inspecție a proceselor, cum ar fi top și pidof.

Când vine vorba de containere individuale, docker ps oferă lista cu tot ce rulează în prezent pe gazda dvs. Informații mai cuprinzătoare despre starea oricărui container pot fi culese cu docker inspect container-name care oferă detalii despre configurația rețelei, volumele și etichetele în format JSON.

Articole Similare

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Back to top button