Darslik · 2026-03-12 · ~2 daqiqa o‘qiladi · boshlang'ich
Docker Compose bilan development muhitini sozlash
Mundarija
"Menda ishlayapti-ku" — jamoadagi eng ko‘p eshitilingan ibora. Docker Compose aynan shu muammoni yechadi: butun development muhitini bitta faylda tavsiflaydi.
docker-compose.yml#
Faraz qilaylik, ilovamizga PostgreSQL va Redis kerak:
services:
db:
image: postgres:17-alpine
environment:
POSTGRES_DB: app
POSTGRES_USER: app
POSTGRES_PASSWORD: app
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U app"]
interval: 5s
retries: 5
redis:
image: redis:7-alpine
ports:
- "6379:6379"
Ishlatish#
docker compose up -d # fon rejimida ko‘tarish
docker compose ps # holatni ko‘rish
docker compose logs -f db # loglarni kuzatish
docker compose down # to‘xtatish
up -d bir marta — va yangi jamoa a'zosi bir necha daqiqada bir xil muhitga ega bo‘ladi.
PostgreSQL'ni qo‘lda o‘rnatish, versiya mos kelmaslik, "menda boshqacha" muammolari yo‘qoladi.
Foydali maslahatlar#
- healthcheck qo‘ying — ilova bazaga baza tayyor bo‘lgandagina ulanadi.
- volume qo‘shsangiz, ma'lumotlar konteyner o‘chsa ham saqlanadi:
```yaml
volumes:
- pgdata:/var/lib/postgresql/data ```
- Port band bo‘lsa (masalan, lokal PostgreSQL 5432'da tursa), host portini o‘zgartiring:
"5433:5432".
Bu sayt ham development uchun aynan shunday sozlangan — bitta docker compose up -d db
va Postgres tayyor. Ishlab chiqarishda (production) esa Compose butun stack'ni boshqaradi.