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
- Conectează-te la VPS prin SSH:
ssh root@63.250.40.142 - 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 cusystemctl enable docker).
2. Test Rapid - Containerul "Hello World"
Rulează containerul oficial de test furnizat de Docker:
docker run hello-world
• 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:
- Pornire container în fundal (mod detached
-d):docker run -d --name test-web -p 8085:80 nginx:alpine - Verifică dacă containerul rulează:
docker ps - Testează răspunsul local pe VPS:
curl http://localhost:8085(Vei vedea pagina implicită de HTML "Welcome to nginx!").
- 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):
- Configurare Namecheap: Adaugă un A Record pentru subdomeniul
docker-demotrimis către IP-ul VPS-ului (63.250.40.142). - Editează Caddyfile:
nano /etc/caddy/Caddyfile - Adaugă blocul de rețea:
docker-demo.bytebook.xyz { reverse_proxy localhost:8086 } - Reîncarcă Caddy:
systemctl reload caddy - Accesează în browser: https://docker-demo.bytebook.xyz
6. Comenzi Utile Docker pentru Mentenanță
docker ps
docker ps -a
docker logs -f <nume>
docker compose down
docker system prune -a --volumes