// SSD VPS

Cum instalezi și configurezi Docker pe un VPS Linux: ghid complet pentru containere

04 octombrie 2026 · by Alex M.

Cum instalezi și configurezi Docker pe un VPS Linux: ghid complet pentru containere

Docker a devenit în ultimii ani unul dintre cele mai utilizate instrumente în lumea DevOps și a dezvoltării web. Dacă ai un VPS SSD și vrei să rulezi aplicații izolate, scalabile și ușor de gestionat, Docker este soluția ideală. În acest ghid vei învăța pas cu pas cum să instalezi, configurezi și folosești Docker pe un VPS Linux cu Ubuntu 22.04.

Ce este Docker și de ce îl folosești pe un VPS?

Docker este o platformă open-source care permite împachetarea aplicațiilor împreună cu toate dependențele lor într-un container. Containerele sunt izolate unele de altele și de sistemul gazdă, dar partajează același kernel Linux.

Avantajele principale:

  • Portabilitate – rulezi același container pe orice server Linux
  • Izolare – fiecare aplicație are mediul ei, fără conflicte de pachete
  • Eficiență – containerele consumă mult mai puțini resurse decât mașinile virtuale
  • Scalabilitate – poți porni zeci de instanțe în secunde

Pentru a beneficia la maximum de Docker, ai nevoie de un server cu resurse dedicate și stocare rapidă. Un VPS NVMe asigură viteze de citire/scriere excelente pentru imagini Docker și volume, reducând semnificativ timpii de build și deployment.

Cerințe preliminare

Înainte de a începe, asigură-te că ai:

  • Un VPS cu Ubuntu 22.04 LTS (sau Debian 11/12)
  • Acces root sau un utilizator cu privilegii sudo
  • Conexiune SSH activă
  • Cel puțin 1 GB RAM și 10 GB spațiu pe disc

Dacă nu ai încă un server, poți comanda un VPS SSD performant direct de pe site-ul CLIQHOST, cu provisioning rapid și panou de control intuitiv.

Pasul 1: Actualizează sistemul

Înainte de orice instalare, actualizează lista de pachete și pachetele existente:

sudo apt update && sudo apt upgrade -y

Repornește serverul dacă există actualizări de kernel:

sudo reboot

Pasul 2: Instalează Docker Engine

Metoda recomandată este să folosești repository-ul oficial Docker, nu pachetul din depozitele Ubuntu (care poate fi învechit).

2.1 Instalează dependențele necesare

sudo apt install -y ca-certificates curl gnupg lsb-release

2.2 Adaugă cheia GPG oficială Docker

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

2.3 Adaugă repository-ul Docker

echo \
  "deb [arch=$(dpkg --print-architecture) \
  signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.4 Instalează Docker Engine și componentele sale

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.5 Verifică instalarea

docker --version
# Docker version 26.x.x, build ...

sudo docker run hello-world

Dacă vezi mesajul Hello from Docker!, instalarea a reușit.

Pasul 3: Configurează Docker fără sudo

Implicit, Docker necesită sudo pentru fiecare comandă. Pentru a elimina această constrângere, adaugă utilizatorul tău în grupul docker:

sudo usermod -aG docker $USER

Deconectează-te și reconectează-te la sesiunea SSH, apoi verifică:

docker ps
# CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS   PORTS   NAMES

Atenție: Utilizatorii din grupul docker au practic acces root la sistem prin intermediul containerelor. Adaugă doar utilizatori de încredere.

Pasul 4: Configurează Docker să pornească automat

Asigură-te că serviciul Docker pornește automat la repornirea VPS-ului:

sudo systemctl enable docker
sudo systemctl enable containerd

Verifică statusul:

sudo systemctl status docker

Pasul 5: Configurarea daemon-ului Docker

Fișierul de configurare principal al Docker este /etc/docker/daemon.json. Iată o configurație recomandată pentru un VPS de producție:

sudo nano /etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "storage-driver": "overlay2",
  "live-restore": true
}

Explicații:

  • log-driver + log-opts – limitează dimensiunea log-urilor containerelor (esențial pe VPS-uri cu spațiu limitat)
  • storage-driver: overlay2 – cel mai performant driver de stocare pentru Linux
  • live-restore: true – containerele rămân pornite în timpul unui restart al daemon-ului Docker

Aplică modificările:

sudo systemctl restart docker

Pasul 6: Instalează Docker Compose

Docker Compose permite definirea și rularea aplicațiilor multi-container printr-un fișier YAML simplu. Dacă ai instalat docker-compose-plugin la pasul 2, îl poți folosi deja:

docker compose version
# Docker Compose version v2.x.x

Alternativ, poți instala varianta standalone:

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

Pasul 7: Primul tău proiect Docker – aplicație Nginx

Să construim un exemplu practic: un container Nginx care servește o pagină HTML statică.

7.1 Creează structura proiectului

mkdir ~/myapp && cd ~/myapp
mkdir html
echo "<h1>Salut de la Docker pe CLIQHOST VPS!</h1>" > html/index.html

7.2 Creează fișierul docker-compose.yml

nano docker-compose.yml
version: '3.9'

services:
  web:
    image: nginx:alpine
    container_name: my_nginx
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped

7.3 Pornește aplicația

docker compose up -d

Accesează IP-ul VPS-ului tău în browser – vei vedea pagina HTML.

7.4 Comenzi utile Docker Compose

docker compose ps          # statusul containerelor
docker compose logs -f     # log-urile în timp real
docker compose down        # oprește și elimină containerele
docker compose restart     # repornește containerele

Pasul 8: Gestionarea resurselor – limitează CPU și RAM

Pe un VPS cu resurse limitate, este important să limitezi resursele per container pentru a evita situația în care un container consumă tot serverul:

services:
  app:
    image: myapp:latest
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 256M
        reservations:
          memory: 128M

Sau prin comandă directă:

docker run -d --name myapp \
  --cpus="0.5" \
  --memory="256m" \
  myapp:latest

Pasul 9: Securizarea Docker pe VPS

Securitatea containerelor este un subiect critic, mai ales pe servere expuse la internet.

9.1 Nu rula containere ca root

În Dockerfile, specifică un utilizator non-root:

FROM node:18-alpine
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser

9.2 Folosește rețele Docker personalizate

Nu lăsa toate containerele pe rețeaua bridge implicită:

docker network create --driver bridge myapp_network

În docker-compose.yml:

networks:
  myapp_network:
    driver: bridge

9.3 Limitează porturile expuse

Expune porturile doar pe interfața locală dacă nu ai nevoie de acces extern:

ports:
  - "127.0.0.1:8080:80"

9.4 Actualizează regulat imaginile

docker compose pull    # descarcă imaginile noi
docker compose up -d   # repornește cu imaginile noi
docker image prune -f  # curăță imaginile vechi

Pentru o securitate avansată la nivel de server, serviciul nostru de administrare servere include auditare de securitate și actualizări periodice.

Pasul 10: Monitorizarea containerelor Docker

10.1 Statistici în timp real

docker stats

Această comandă afișează CPU, memorie, rețea și I/O disk pentru toate containerele active.

10.2 Verifică log-urile unui container specific

docker logs my_nginx --tail 100 -f

10.3 Intră în containerul activ

docker exec -it my_nginx sh

Gestionarea imaginilor și volumelor

Curăță periodic resursele neutilizate pentru a elibera spațiu pe disc:

# Curăță tot ce nu este folosit (containere, rețele, imagini, volume)
docker system prune -a --volumes

# Listează volumele existente
docker volume ls

# Șterge un volum specific
docker volume rm nume_volum

Pe un VPS NVMe de la CLIQHOST, operațiunile de I/O cu imagini Docker sunt semnificativ mai rapide față de SSD-urile clasice, ceea ce face diferența în pipeline-uri CI/CD intense.

Dockerfile – construiește propria imagine

Un exemplu simplu de Dockerfile pentru o aplicație Node.js:

FROM node:18-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production

COPY . .

EXPOSE 3000

CMD ["node", "server.js"]

Construction și rulare:

docker build -t mynodeapp:1.0 .
docker run -d -p 3000:3000 --name mynodeapp mynodeapp:1.0

Sfaturi practice pentru producție

  1. Folosește întotdeauna tag-uri specifice pentru imagini (nginx:1.25, nu nginx:latest) – asiguri reproducibilitate
  2. Separă datele de aplicație – stochează datele în volume Docker, nu în container
  3. Configurează un reverse proxy (Nginx sau Traefik) în fața containerelor pentru SSL și routing
  4. Activează SSL pentru orice serviciu expus public – poți achiziționa un certificat SSL sau folosi Let's Encrypt
  5. Fă backup regulat la volumele Docker care conțin date importante
  6. Documentează fiecare serviciu în docker-compose.yml cu comentarii clare

Concluzie

Docker transformă modul în care deployezi și gestionezi aplicațiile pe un VPS Linux. Cu configurația corectă, ai un mediu izolat, portabil și ușor de scalat, perfect pentru proiecte personale, staging sau producție.

Dacă ești la început și cauți un VPS potrivit pentru Docker, echipa CLIQHOST îți stă la dispoziție. Verifică oferta de VPS SSD și VPS NVMe – servere optimizate pentru workload-uri de containere, cu suport tehnic inclus. Ai întrebări? Contactează-ne și găsim împreună soluția potrivită.

SHARE
// what clients say

What Our Clients Say

Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău