Peta dunia

 

EN: Read in English

Dunia D4: Set Hidangan

Tambahan pilihan: profiles

Anda akan belajar: biarkan hidangan tambahan tutup sampai anda memintanya.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

web, api dan db hidup. Cache dalam fail yang sama tidak. Transkrip Docker: $ docker compose up -d [+] up 5/5 ✔ Network kedai-kancil_default Created 0.1s ✔ Volume kedai-kancil_db-data Created 0.0s ✔ Container kedai-kancil-web-1 Started 0.3s ✔ Container kedai-kancil-api-1 Started 0.3s ✔ Container kedai-kancil-db-1 Started 0.3s $ docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS kedai-kancil-api-1 kedai-kancil-api "docker-entrypoint.s…" api 3 seconds ago Up 3 seconds 3000/tcp kedai-kancil-db-1 postgres:18-alpine "docker-entrypoint.s…" db 3 seconds ago Up 3 seconds 5432/tcp kedai-kancil-web-1 kedai-kancil-web "/docker-entrypoint.…" web 3 seconds ago Up 3 seconds 0.0.0.0:8080->80/tcp

Laptop anda~/kedai-kancil

  • Tiada tingkap terbuka

Bekas (container)

  • Belum ada container

Pek beku (image)

  • kedai-kancil-api:latest6 layer · 244MB
  • kedai-kancil-web:latest9 layer · 92.6MB
  • nginx:1.30-alpine8 layer · 93.5MB
  • node:24-alpine4 layer · 244MB
  • postgres:18-alpine9 layer · 433MB
  • redis:8-alpine7 layer · 162MB

0 container (0 berjalan), 6 image, 0 loker.

Cache ada dalam compose.yaml. Anda dah jalankan docker compose up -d. Jadi kenapa ia tak berjalan?

Tengok

  cache:
    image: redis:8-alpine
    profiles: [cache]

Lauk tambahan datang hanya bila anda minta. Itulah profile: Lauk tambahan: service yang hidup hanya bila diminta, dengan --profile atau ikut namanya.. Hidangan yang ada profile kekal tutup. Anda hidupkannya bila perlu. Susun hidangan ini.

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Cuba

      Pesan lauk tambahan juga. Hidupkan profile cache.

      Laptop anda~/kedai-kancil

      • Port laptop 8080 → kedai-kancil-web-1 port 80

      Bekas (container)

      • kedai-kancil-api-1berjalan
        dari kedai-kancil-api kedai-kancil_default
      • kedai-kancil-db-1berjalan
        dari postgres:18-alpine kedai-kancil_default kedai-kancil_db-data → /var/lib/postgresql
      • kedai-kancil-web-1berjalan
        dari kedai-kancil-web 8080→80 kedai-kancil_default

      Pek beku (image)

      • kedai-kancil-api:latest6 layer · 244MB · sedang diguna
      • kedai-kancil-web:latest9 layer · 92.6MB · sedang diguna
      • nginx:1.30-alpine8 layer · 93.5MB
      • node:24-alpine4 layer · 244MB
      • postgres:18-alpine9 layer · 433MB · sedang diguna
      • redis:8-alpine7 layer · 162MB

      Loker (volume)

      • kedai-kancil_db-data24 fail · diguna oleh kedai-kancil-db-1

      Talian telefon (rangkaian)

      • kedai-kancil_defaultkedai-kancil-api-1 ↔ kedai-kancil-db-1 ↔ kedai-kancil-web-1

      3 container (3 berjalan), 6 image, 1 loker.

      Teka

      Langsung tiada --profile. Anda taip docker compose up -d cache. Apa jadi?

      Pilih satu jawapan.

      Semak

      down biasa buang web, api dan db. Cache masih berjalan, begitu juga talian telefonnya. Transkrip Docker: $ docker compose --profile cache up -d [+] up 6/6 ✔ Network kedai-kancil_default Created 0.1s ✔ Volume kedai-kancil_db-data Created 0.0s ✔ Container kedai-kancil-web-1 Started 0.3s ✔ Container kedai-kancil-api-1 Started 0.3s ✔ Container kedai-kancil-db-1 Started 0.3s ✔ Container kedai-kancil-cache-1 Started 0.3s $ docker compose down [+] down 3/4 ✔ Container kedai-kancil-db-1 Removed 0.2s ✔ Container kedai-kancil-api-1 Removed 10.2s ✔ Container kedai-kancil-web-1 Removed 0.2s ! Network kedai-kancil_default Resource is still in use 0.0s $ docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS kedai-kancil-cache-1 redis:8-alpine "docker-entrypoint.s…" cache 16 seconds ago Up 16 seconds 6379/tcp

      Laptop anda~/kedai-kancil

      • Tiada tingkap terbuka

      Bekas (container)

      • Belum ada container

      Pek beku (image)

      • kedai-kancil-api:latest6 layer · 244MB
      • kedai-kancil-web:latest9 layer · 92.6MB
      • nginx:1.30-alpine8 layer · 93.5MB
      • node:24-alpine4 layer · 244MB
      • postgres:18-alpine9 layer · 433MB
      • redis:8-alpine7 layer · 162MB

      0 container (0 berjalan), 6 image, 0 loker.

      Hati-hati masa tutup kedai. down biasa hanya kemas hidangan tanpa profile. Tambah --profile cache untuk kemas lauk tambahan juga.

      Anda berjaya!

      Kini anda boleh biarkan hidangan tambahan tutup sampai anda memintanya.

      Nak tahu lebih (pilihan)

      COMPOSE_PROFILES=cache docker compose up -d buat perkara sama seperti pilihan itu. Hidupkan dua dengan --profile cache --profile debug. Lauk tambahan yang sesuai: alat debug, laman admin, kerja yang muatkan data ujian. Nama profile guna huruf, nombor, _, . dan -.

      Misi sebenar

      1. docker compose config --services
      2. docker compose --profile cache config --services

      0 daripada 3 langkah siap · Tanda anda disimpan.