Ilustrație care prezintă sigla Docker

    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.

    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ă vizionați Borat 2 online: acum puteți vedea filmele lui Borat de oriunde

    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

    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  Pentru ce a fost utilizată servieta Windows, oricum?

    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

    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ă.

    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.

    Share.

    Alin Tripon Fondator NewIT.ro, pasionat de tehnologie, maşini, divertisment, ştiinţa şi jocuri video, am creat acest portal de ştiri it, tutoriale, ghiduri şi alte informații utile. Pasionat de lumea digitală și cultura tech, în timpul liber îmi îmbogățesc cunoștințele ce țin de marketing digital, în special SEO.

    Leave A Reply