~/labs / resurs-va-loglarback

Asoslar8/15

Bitta konteyner butun serverni yiqitmasin

Tunda server javob bermay qoldi. Sabab: worker xotirani yeb qo'ygan, api esa log bilan diskni to'ldirgan. Ikkalasi ham konfiguratsiyada oldini olish mumkin bo'lgan narsa.

  1. Uchala servisga ham xotira chegarasi qo'ying (deploy.resources.limits.memory).
  2. Uchala servisning ham logi cheklansin (logging.options.max-size).
  3. Uchalasi ham server qayta yuklanganda ko'tarilsin (restart: unless-stopped).
  4. db uchun healthcheck bo'lsin va api uni tayyor bo'lgunicha kutsin.
  5. api 8080 portda ochilsin (ichkarida 8000).
…
docker-compose.yml
✓ YAML to'g'ri · 3 servis
Tab ichkariga · Shift+Tab tashqariga⌘/Ctrl+Enter tekshirishEsc maydondan chiqish

3 servis · 0 tarmoq · 0 volume · tuzilma toza

✓ Compose e'tiroz bildiradigan narsa topilmadi. Vazifa talablari esa serverda, ishga tushirganda tekshiriladi.

Servislar 3

python:3.12-alpine
portlar
0.0.0.0:8000 → 8000/tcp
healthcheck
yo'q
restart
no (standart)
user
root (standart)
tarmoq
default
python:3.12-alpine
portlar
chiqarilmagan — faqat ichki tarmoq
healthcheck
yo'q
restart
no (standart)
user
root (standart)
tarmoq
default
postgres:16-alpine
portlar
chiqarilmagan — faqat ichki tarmoq
healthcheck
yo'q
restart
no (standart)
user
root (standart)
tarmoq
default

Ishga tushish tartibi

  1. workerhech kimni kutmaydi
    dbhech kimni kutmaydi
  2. apidb ishga tushishini kutadi (tayyorligini emas)