
Giriş
Docker Compose və Mikroservislər Niyə Vacibdir?
Mikroservis arxitekturası, tətbiqləri kiçik, müstəqil xidmətlərə bölərək skalabellik və çeviklik təmin edir. Docker Compose isə bu xidmətləri bir yerdə idarə etməyin ən sadə yoludur. Bu bələdçidə Ubuntu 24.04-də Docker Compose ilə mikroservislər necə qurulur, təhlükəsizlik və monitorinq üçün ən yaxşı təcrübələrdən bəhs edəcəyik.
Mikroservislərin Üstünlükləri
– Skalabellik: Hər bir xidmət müstəqil olaraq miqyaslana bilər.
– Çeviklik: Xidmətlər bir-birindən asılı olmayaraq inkişaf etdirilə bilər.
– Təhlükəsizlik: Hər bir xidmət öz təhlükəsizlik siyasətinə malikdir.
– Asan İdarəetmə: Docker Compose ilə bütün xidmətlər bir faylda konfiqurasiya edilir.
İlkin Şərtlər
- Ubuntu 24.04 VPS (və ya fiziki server).
- Root və ya sudo giriş imkanı.
- İnternet bağlantısı.
- Əsas Linux komandaları ilə tanışlıq.
Addım-Addım Quraşdırma
1. Docker və Docker Compose Quraşdırılması
sudo apt update && sudo apt install -y docker.io docker-compose
2. Docker Xidmətini Aktivləşdirmək
sudo systemctl enable --now docker
3. docker-compose.yml Faylının Yaradılması
version: '3.8'
service:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: postgres:15
environment:
POSTGRES_PASSWORD: example
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
4. Servisləri İşə Salmaq
docker-compose up -d
5. Statusu Yoxlamaq
docker-compose ps
Təhlükəsizlik Qeydləri
1. Firewall Qaydaları
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
2. Network Isolation
networks:
internal:
internal: true
3. Secret Management
secrets:
db_password:
file: ./secrets/db_password.txt
4. İstifadəçi İcazələri
sudo chmod 600 ./secrets/db_password.txt
Monitorinq və Loglama
1. Prometheus və Grafana Quraşdırılması
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana
ports:
- "3000:3000"
2. ELK Stack (Optional)
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.12.0
environment:
- discovery.type=single-node
logstash:
image: docker.elastic.co/logstash/logstash:8.12.0
kibana:
image: docker.elastic.co/kibana/kibana:8.12.0
ports:
- "5601:5601"
Nəticə
Docker Compose ilə mikroservislər qurmaq, Ubuntu 24.04-də olduqca sadə və effektivdir. Bu bələdçi ilə NGINX, PostgreSQL, Prometheus, Grafana kimi xidmətləri bir neçə dəqiqədə işə sala bilərsiniz. Gələcəkdə Kubernetes və CI/CD inteqrasiyası ilə bu infrastrukturu daha da inkişaf etdirmək mümkündür.