~/labs / ilova-va-bazaback

Asoslar4/15

Ilova va ma'lumotlar bazasi

Bu konfiguratsiyada bir nechta muammo bor. Ularni toping va tuzating:

  1. web host'ning 8080 portida ochilishi kerak (hozir boshqa portda).
  2. postgres parolsiz umuman ishga tushmaydi — POSTGRES_PASSWORD kerak.
  3. db uchun healthcheck yozing, aks holda uning tayyorligini bilib bo'lmaydi.
  4. web bazani tayyor bo'lgunicha kutishi kerak, shunchaki keyin ishga tushishi emas.
  5. Baza ma'lumotlari host papkasiga emas, nomlangan volume'ga yozilsin.
…
docker-compose.yml
! 2 ta muammo —
Tab ichkariga · Shift+Tab tashqariga⌘/Ctrl+Enter tekshirishEsc maydondan chiqish

2 servis · 0 tarmoq · 0 volume · 2 ta muammo

Muammolar 2

  • lab siyosati rad etadi
    ./pgdata — host papkasi ulanmoqda
    lab siyosati: faqat nomlangan volume'lar
  • ishga tushganda yiqiladi
    db: postgres POSTGRES_PASSWORDsiz ishga tushmaydi
    Error: Database is uninitialized and superuser password is not specified.

Servislar 2

nginx:1.27-alpine
portlar
0.0.0.0:3000 → 80/tcp
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)
volume
./pgdata → /var/lib/postgresql/data
tarmoq
default

Ishga tushish tartibi

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