BYTEBOOK
Bytebook Docs • Docker / Containerization
← Înapoi la Bytebook
PATH: DOCS / DOCKER_GUIDE.HTML _
[00:00:00] DOCS_READY
DEMOS Main Archive JAVA LABS Enterprise PY LABS Neural Assets NODE LABS Async Runtime INFRA Control Center
CONTAINER GUIDES • DOCKER & DOCKER COMPOSE

Ghid Testare și Utilizare Docker pe VPS

Acest ghid descrie modul în care verifici funcționarea Docker și Docker Compose (deja instalate pe VPS-ul 63.250.40.142), cum rulezi containere de test și cum folosești Docker Compose pentru o stivă completă.

1. Verificarea Instalării Docker și Docker Compose

  1. Conectează-te la VPS prin SSH:
    ssh root@63.250.40.142
  2. Verifică versiunile instalate și statusul serviciului Docker:
    docker --version
    docker compose version
    systemctl status docker

    (Dacă serviciul nu este activ, pornește-l cu systemctl start docker și activează-l la boot cu systemctl enable docker).

2. Test Rapid - Containerul "Hello World"

Rulează containerul oficial de test furnizat de Docker:

docker run hello-world
Ce se întâmplă:

• Docker caută imaginea hello-world local.

• Dacă nu o găsește, o descarcă automat de pe Docker Hub (pull).

• Execută containerul, afișează un mesaj de confirmare și apoi se oprește.

3. Test Serviciu Web cu Nginx pe Port Separativ

Lansează un container Nginx izolat, mapând portul 8085 de pe VPS la portul 80 din container:

  1. Pornire container în fundal (mod detached -d):
    docker run -d --name test-web -p 8085:80 nginx:alpine
  2. Verifică dacă containerul rulează:
    docker ps
  3. Testează răspunsul local pe VPS:
    curl http://localhost:8085

    (Vei vedea pagina implicită de HTML "Welcome to nginx!").

  4. Oprire și ștergere container de test:
    docker stop test-web
    docker rm test-web

4. Test Stivă Completă cu Docker Compose (Aplicație + PostgreSQL)

Docker Compose îți permite să definești și să rulați aplicații multi-container folosind un singur fișier de configurare docker-compose.yml.

A. Creează un folder de test

mkdir -p /root/projects/docker-demo
cd /root/projects/docker-demo

B. Creează fișierul docker-compose.yml

nano docker-compose.yml

Lipește următoarea configurație care lansează un container PostgreSQL și un container Adminer:

version: '3.8'

services:
  db:
    image: postgres:15-alpine
    container_name: docker_postgres_db
    restart: always
    environment:
      POSTGRES_USER: docker_user
      POSTGRES_PASSWORD: DockerPassword123!
      POSTGRES_DB: docker_testdb
    ports:
      - "5433:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

  adminer:
    image: adminer:latest
    container_name: docker_adminer
    restart: always
    ports:
      - "8086:8080"

volumes:
  postgres_data:

(Salvează cu Ctrl + O, Enter, Ctrl + X).

C. Pornește stiva și verifică statusul

docker compose up -d
docker compose ps

5. Expunerea unui Container prin Caddy Reverse Proxy

Dacă vrei ca un serviciu din Docker (de exemplu interfața Adminer de pe portul 8086) să fie accesibil pe un subdomeniu cu SSL automat (docker-demo.bytebook.xyz):

  1. Configurare Namecheap: Adaugă un A Record pentru subdomeniul docker-demo trimis către IP-ul VPS-ului (63.250.40.142).
  2. Editează Caddyfile:
    nano /etc/caddy/Caddyfile
  3. Adaugă blocul de rețea:
    docker-demo.bytebook.xyz {
        reverse_proxy localhost:8086
    }
  4. Reîncarcă Caddy:
    systemctl reload caddy
  5. Accesează în browser: https://docker-demo.bytebook.xyz

6. Comenzi Utile Docker pentru Mentenanță

Vezi containere active: docker ps
Vezi toate containerele: docker ps -a
Vezi logurile unui container: docker logs -f <nume>
Oprește stivă Docker Compose: docker compose down
Curățare imagini și containere nefolosite (eliberare spațiu):
docker system prune -a --volumes