Docker VPS'te izole servisler çalıştırmanın standart yolu. Bu rehber Ubuntu 22.04/24.04'e en son Docker Engine + docker-compose plugin kurar. 2 GB+ RAM'li her Hostiger VPS Docker'ı rahat çalıştırır.
1. Eski Docker'ı kaldır
apt remove docker docker-engine docker.io containerd runc -y || true
2. Docker resmi reposu
apt update
apt install ca-certificates curl gnupg -y
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" \
| tee /etc/apt/sources.list.d/docker.list > /dev/null
3. Docker Engine + compose plugin
apt update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
systemctl enable --now docker
docker --version
docker compose version
4. Root olmayan kullanım
usermod -aG docker $USER
newgrp docker
docker run hello-world
5. İlk container
docker run -d --name webtest -p 8080:80 nginx
curl http://localhost:8080
Public erişim için: ufw allow 8080/tcp.
6. docker-compose örneği
services:
web:
image: nginx:alpine
ports: ["80:80"]
restart: unless-stopped
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: change_me
volumes:
- db_data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
db_data:
docker compose up -d
docker compose ps
7. Bakım komutları
docker system prune -af
docker container stats
docker compose down --volumes
journalctl -u docker
Güvenlik
- Docker TCP soketini asla TLS olmadan public etme
dockergrubundaki kullanıcı = root- Production'da
:latestyerine version pinle (nginx:1.27-alpine)
Ağır container iş yükleri için Hostiger High-RAM VPS — Docker + veritabanı genelde CPU'dan önce RAM tüketir.