15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
31.10.2024
1 +1

Cum să instalezi Docker pe CentOS: Ghid complet pas cu pas

Docker a schimbat fundamental modul în care dezvoltatorii construiesc, expediază și rulează aplicații. Prin împachetarea software-ului în containere ușoare și portabile, Docker elimină problema clasică „funcționează pe mașina mea” și simplifică dramatic atât fluxurile de lucru de dezvoltare, cât și implementările în producție. Dacă rulați CentOS și doriți să exploatați puterea containerizării, acest ghid cuprinzător vă ghidează prin fiecare pas — de la o actualizare proaspătă a sistemului la configurația avansată.

Indiferent dacă implementați o singură aplicație web sau orchestrați medii complexe cu mai multe containere, instalarea corectă a Docker pe CentOS este pasul critic inițial.

Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți:

  • Un server CentOS 7 sau CentOS 8 (fizic sau virtual)
  • Un cont de utilizator cu sudo privilegii
  • O conexiune internet stabilă
  • Cunoștințe de bază despre linia de comandă Linux

> Sfat profesional: Pentru cea mai bună experiență Docker, luați în considerare rularea acestuia pe un plan VPS Hosting. Un server privat virtual vă oferă acces complet root, resurse dedicate și flexibilitatea de a rula containere fără restricțiile mediilor partajate.

Pasul 1: Actualizați sistemul

Înainte de a instala orice software nou, actualizați întotdeauna pachetele existente pentru a asigura compatibilitatea și securitatea. Executați următoarea comandă:

sudo yum update -y

Această comandă reîmprospătează toate pachetele instalate la versiunile lor cele mai recente. Poate dura câteva minute în funcție de câte actualizări sunt în așteptare. Un sistem complet actualizat reduce riscul conflictelor de dependență în timpul instalării Docker.

Pasul 2: Instalați dependențele necesare

Docker se bazează pe mai multe pachete la nivel de sistem pentru a funcționa corect. Instalați-le cu o singură comandă:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Iată ce face fiecare pachet:

PachetScop
yum-utilsFurnizează utilitatea yum-config-manager pentru gestionarea depozitelor
device-mapper-persistent-dataNecesar pentru driverul de stocare device mapper al Docker
lvm2Suport Logical Volume Manager pentru backend-ul de stocare Docker

Aceste dependențe asigură că Docker poate gestiona stocarea containerelor eficient și fiabil pe sistemul dvs. CentOS.

Pasul 3: Adăugați depozitul oficial Docker

Depozitele implicite ale CentOS nu includ pachetele Docker cele mai recente. Trebuie să adăugați depozitul oficial Docker pentru a obține cea mai actuală versiune stabilă:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Această comandă adaugă depozitul oficial CentOS al Docker la lista depozitelor sistemului dvs. Utilizarea sursei oficiale garantează că primiți pachete Docker autentice și actualizate direct de la Docker Inc., mai degrabă decât versiuni potențial învechite din oglinzi terțe.

Puteți verifica că depozitul a fost adăugat cu succes prin listarea depozitelor configurate:

sudo yum repolist

Pasul 4: Instalați Docker Engine

Cu depozitul la locul lui, instalarea Docker este simplă:

sudo yum install -y docker-ce docker-ce-cli containerd.io

> Notă: Se recomandă să instalați și docker-ce-cli (interfața de linie de comandă Docker) și containerd.io (runtime-ul containerului) alături de motorul principal pentru o configurare completă, gata pentru producție.

Aceasta instalează Docker Community Edition (CE) — versiunea gratuită și open-source a Docker care este perfect potrivită atât pentru cargas de lucru de dezvoltare, cât și pentru producție.

Pasul 5: Porniți și activați serviciul Docker

Instalarea Docker nu-l pornește automat. Trebuie să porniți demonul Docker și să-l configurați pentru a se lansa automat la repornirea sistemului:

sudo systemctl start docker
sudo systemctl enable docker
    systemctl start docker — Pornește serviciul Docker imediat
    systemctl enable docker — Configurează Docker pentru a se porni automat de fiecare dată când serverul se repornește
    
    Verificați starea serviciului
    Confirmați că Docker rulează corect:
    sudo systemctl status docker
    Ar trebui să vedeți o ieșire indicând că serviciul este activ (rulând). Dacă starea arată orice erori, revizuiți jurnalele sistemului cu journalctl -u docker pentru detalii de depanare.
    Pasul 6: Verificați instalarea Docker
    Executați testul încorporat al Docker pentru a confirma că totul funcționează conform așteptărilor:
    sudo docker run hello-world
    Această comandă face următoarele:
    
    Contactează registrul Docker Hub
    Descarcă imaginea de test ușoară hello-world
  • Creează un nou container din acea imagine
  • Rulează containerul, care tipărește un mesaj de confirmare
  • Dacă instalarea dvs. este reușită, veți vedea o ieșire care începe cu:

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

    Felicitări — Docker este acum complet instalat și operațional pe serverul dvs. CentOS.

    Pasul 7: Configurați Docker pentru utilizatori non-root (opțional, dar recomandat)

    În mod implicit, comenzile Docker necesită sudo (privilegii root). Pentru securitate și comoditate în mediile de dezvoltare, puteți permite utilizatorilor non-root specifici să ruleze comenzi Docker adăugând-i la grupul docker.

    Creați grupul Docker

    În majoritatea cazurilor, acest grup este creat automat în timpul instalării. Dacă nu, creați-l manual:

    sudo groupadd docker

    Adăugați utilizatorul dvs. la grupul Docker

    Înlocuiți your_username cu numele real de utilizator Linux:

    sudo usermod -aG docker your_username

    Aplicați modificările

    Deconectați-vă și conectați-vă din nou pentru a reîmprospăta apartenența la grup. Alternativ, activați modificarea în sesiunea curentă:

    newgrp docker

    Testați fără Sudo

    docker run hello-world

    Dacă aceasta rulează fără sudo și fără o eroare de permisiune, configurația funcționează corect.

    > Avertisment de securitate: Grupul docker acordă privilegii echivalente cu utilizatorul root. Adăugați doar utilizatori de încredere la acest grup în mediile de producție.

    Pasul 8: Referință comenzi Docker esențiale

    Odată ce Docker rulează, iată cele mai importante comenzi pe care le veți folosi zilnic:

    Gestionarea containerelor

    # List all running containers
    docker ps
    
    # List all containers (including stopped ones)
    docker ps -a
    
    # Start a stopped container
    docker start container_id
    
    # Stop a running container
    docker stop container_id
    
    # Remove a container
    docker rm container_id
    
    # Remove all stopped containers at once
    docker container prune

    Gestionarea imaginilor

    # List all locally stored images
    docker images
    
    # Pull an image from Docker Hub
    docker pull image_name
    
    # Pull a specific version/tag
    docker pull image_name:tag
    
    # Remove a local image
    docker rmi image_name
    
    # Remove all unused images
    docker image prune -a

    Rularea containerelor

    # Run a container interactively
    docker run -it image_name /bin/bash
    
    # Run a container in detached (background) mode
    docker run -d image_name
    
    # Run a container with port mapping
    docker run -d -p 8080:80 image_name
    
    # Run a container with a custom name
    docker run -d --name my_container image_name

    Vizualizarea jurnalelor și statisticilor

    # View container logs
    docker logs container_id
    
    # Follow live log output
    docker logs -f container_id
    
    # View real-time resource usage
    docker stats

    Pasul 9: Confirmați că Docker se pornește la boot

    Docker ar trebui să fie deja configurat pentru a se porni la boot după executarea systemctl enable docker. Pentru a verifica din nou sau a reactiva acest comportament:

    sudo systemctl enable docker

    Pentru a dezactiva pornirea automată (de exemplu, pe o mașină de dezvoltare unde nu aveți întotdeauna nevoie de Docker rulând):

    sudo systemctl disable docker

    Pasul 10: Configurație avansată (opțional)

    Instalați Docker Compose

    Docker Compose este un instrument esențial pentru definirea și gestionarea aplicațiilor cu mai multe containere folosind un fișier de configurare YAML simplu. Instalați versiunea stabilă cea mai recentă:

    sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

    Verificați instalarea:

    docker-compose --version

    Cu Docker Compose, puteți defini stive de aplicații întregi — servere web, baze de date, cache-uri — într-un singur fișier docker-compose.yml și le puteți porni pe toate cu o singură comandă: docker-compose up -d.

    Configurați demonul Docker

    Puteți personaliza comportamentul Docker editând (sau creând) fișierul de configurare daemon:

    sudo nano /etc/docker/daemon.json

    Un exemplu de configurare comună:

    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "10m",
        "max-file": "3"
      },
      "storage-driver": "overlay2",
      "default-address-pools": [
        {"base": "172.17.0.0/16", "size": 24}
      ]
    }

    După editarea configurației daemon, reporniți Docker pentru a aplica modificările:

    sudo systemctl restart docker

    Setările daemon comune pe care le puteți configura includ:

    • Driver de jurnal și rotație — Preveniți ca jurnalele containerelor să consume tot spațiul pe disc
    • Driver de stocareoverlay2 este driverul recomandat pentru CentOS
    • Setări DNS — Setați servere DNS personalizate pentru containere
    • Oglinzi de registru — Accelerați extragerea imaginilor cu oglinzi locale

    Configurați regulile firewall (CentOS 7)

    Dacă rulați firewalld, poate fi necesar să permiteți traficul de rețea Docker:

    sudo firewall-cmd --zone=public --add-masquerade --permanent
    sudo firewall-cmd --reload

    Alegerea mediului de găzduire potrivit pentru Docker

    Rularea Docker în producție necesită un mediu de server fiabil și de înaltă performanță. Iată cele mai bune opțiuni în funcție de cazul dvs. de utilizare:

    • VPS Hosting — Ideal pentru majoritatea implementărilor Docker. Acces complet root, resurse scalabile și prețuri rentabile fac VPS alegerea de referință pentru aplicații containerizate.
    • Servere dedicate — Cel mai bun pentru mediile de producție cu trafic ridicat sau când aveți nevoie de performanță maximă a CPU, RAM și stocare pentru rularea zecilor de containere simultan.
    • GPU Hosting — Perfect pentru cargas de lucru AI/ML care rulează în interiorul containerelor Docker și care necesită accelerare GPU pentru antrenarea sau inferența modelelor.
    • VPS cu cPanel — Dacă aveți nevoie de Docker alături de un panou de control ușor de utilizat pentru gestionarea site-urilor web și e-mailului, această combinație oferă cel mai bun din ambele lumi.

    Depanarea problemelor Docker comune pe CentOS

    Demonul Docker nu se pornește

    Verificați jurnalele sistemului pentru detalii de eroare:

    journalctl -u docker --no-pager | tail -50

    Erori de permisiune refuzată

    Dacă vedeți Got permission denied while trying to connect to the Docker daemon socket, asigurați-vă că utilizatorul dvs. se află în grupul docker și că v-ați deconectat și reconectat.

    Nu se pot extrage imagini

    Verificați că serverul dvs. are acces la internet de ieșire și că DNS se rezolvă corect:

    curl -I https://registry-1.docker.io

    Probleme de rețea container

    Reporniți Docker pentru a reinițializa podurile de reț

    15%

    Economisește 15% la toate serviciile de găzduire

    Testează-ți abilitățile și obține Reducere la orice plan de găzduire

    Utilizați codul:

    Skills
    Începeți