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
sudoprivilegii - 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 -yAceastă 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 lvm2Iată ce face fiecare pachet:
| Pachet | Scop |
|---|---|
yum-utils | Furnizează utilitatea yum-config-manager pentru gestionarea depozitelor |
device-mapper-persistent-data | Necesar pentru driverul de stocare device mapper al Docker |
lvm2 | Suport 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.repoAceastă 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 repolistPasul 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 dockersystemctl 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-worldDacă 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 dockerAdăugați utilizatorul dvs. la grupul Docker
Înlocuiți your_username cu numele real de utilizator Linux:
sudo usermod -aG docker your_usernameAplicaț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 dockerTestați fără Sudo
docker run hello-worldDacă 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 pruneGestionarea 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 -aRularea 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_nameVizualizarea 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 statsPasul 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 dockerPentru 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 dockerPasul 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-composeVerificați instalarea:
docker-compose --versionCu 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.jsonUn 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 dockerSetă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 stocare —
overlay2este 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 --reloadAlegerea 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 -50Erori 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.ioProbleme de rețea container
Reporniți Docker pentru a reinițializa podurile de reț
