Barcha loyihalar
O'rtaDocker Compose

Multi-container ilova

Multi-container ilovani ishga tushirish uchun Docker Compose'dan foydalaning

DevOpsnodejsdockerdevops

Ushbu loyihaning maqsadi — production muhitida multi-container ilovani ishga tushirish uchun Docker Compose'dan foydalanishni mashq qilish. Siz Docker Compose yordamida Node.js ilovasi va MongoDB ma'lumotlar bazasini ishga tushirasiz.

Talablar

Oddiy todo ro'yxatini yaratish uchun authentication'siz, sodda Node.js API servisini yarating. API quyidagi endpoint'larga ega bo'lishi kerak:

  • GET /todos — barcha todo'larni olish
  • POST /todos — yangi todo yaratish
  • GET /todos/:id — bitta todo'ni id bo'yicha olish
  • PUT /todos/:id — bitta todo'ni id bo'yicha yangilash
  • DELETE /todos/:id — bitta todo'ni id bo'yicha o'chirish

Todo elementlarini saqlash uchun API MongoDB'ga ulanishi kerak. API uchun Express'dan, MongoDB'ga ulanish uchun esa Mongoose'dan foydalanishingiz mumkin. Manba kodi o'zgarganda serverni avtomatik qayta ishga tushirish uchun nodemon'dan foydalanishingiz mumkin.

1-talab — API'ni dockerize qilish

Siz API'ni dockerize qilishingiz va MongoDB container'i hamda API container'ini ishga tushiradigan docker-compose.yml fayliga ega bo'lishingiz kerak. Hammasi to'g'ri ishlasa, API'ga http://localhost:3000 orqali kira olishingiz va todo'lar MongoDB container'ida saqlanishi kerak. Container'lar to'xtatilib, qayta ishga tushirilganda ham ma'lumotlar saqlanib qolishi kerak.

2-talab — Remote server'ni sozlash

Digital Ocean, AWS yoki boshqa istalgan cloud provider'da remote server sozlang. Serverni yaratish uchun Terraform'dan, uni to'g'ri sozlash uchun esa Ansible'dan foydalanishingiz kerak: ya'ni docker, docker-compose'ni o'rnatish, image'ni Docker Hub'dan pull qilish va container'larni ishga tushirish.

3-talab — CI/CD pipeline'ni sozlash

Lokal muhitda hammasi ishlagach, kodingizni GitHub'ga push qiling va ilovani remote server'ga deploy qilish uchun CI/CD pipeline sozlang. Pipeline'ni sozlash uchun GitHub Actions'dan foydalanishingiz mumkin. Production muhitida ilovani ishga tushirish uchun albatta docker-compose'dan foydalaning.

Bonus — Reverse proxy'ni sozlash

Ilovaga http://your_domain.com orqali kirish imkonini berish uchun Nginx yordamida reverse proxy sozlang. Reverse proxy'ni sozlash uchun docker-compose'dan foydalanishingiz kerak.

<hr />

Ushbu loyihani tugatgach, Docker Compose, multi-container ilovalar, CI/CD pipeline'lar va boshqa mavzular haqida yaxshi tushunchaga ega bo'lasiz.

Yo'l xaritalariQo'llanmalarFAQYouTube

yo'lxaritaroadmap.shasosida

Hamjamiyat tomonidan yaratilgan yo'l xaritalari, eng yaxshi amaliyotlar, loyihalar, maqolalar, manbalar va yo'nalishlar — o'z yo'lingizni tanlash va kasbingizda o'sish uchun.

© yo'lxarita·Shartlar·Maxfiylik·

roadmap.sh

Barcha kontent roadmap.sh loyihasidan olingan (© Kamran Ahmed) va shaxsiy o'rganish uchun o'zbek tiliga tarjima qilinmoqda.

Qidiruv

Yo'l xaritalari, loyihalar va savollarni qidiring