Peta dunia

 

EN: Read in English

Dunia D4: Set Hidangan

Muat semula langsung dengan compose watch

Anda akan belajar: nampak suntingan anda dalam aplikasi yang sedang berjalan setiap kali anda simpan.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

Anda simpan laman baru. curl masih tunjuk yang lama: Kedai Kancil, tanpa open. 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 $ echo "<h1>Kedai Kancil: open!</h1>" > web/index.html $ curl -s localhost:8080 <h1>Kedai Kancil</h1>

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.

Anda simpan laman baru. Kedai masih tunjuk yang lama. Kenapa? Laman itu dah dibakar ke dalam image sebelum anda sunting.

Teka

Macam mana nak masukkan laman baru ke dalam kedai?

Pilih satu jawapan.

Cuba

Buktikan. Bakar semula, kemudian ketuk tingkap 8080.

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.

Tengok

  web:
    build: ./web
    develop:
      watch:
        - action: sync
          path: ./web
          target: /usr/share/nginx/html
bash
docker compose watch
Watch enabled
Syncing service "web" after 1 changes were detected
docker compose watch hidupkan kedai (baris binaannya tak ditunjuk di sini), kemudian kata Watch enabled. Anda simpan web/index.html dalam editor. Watch salin ia masuk: Syncing service web after 1 changes were detected.

compose watch: Perhati fail anda dan salin, mula semula atau bina semula service bila anda simpan. perhati folder anda. Bila anda simpan, ia salin fail itu ke dalam bekas yang sedang berjalan. Tiada bakar, tiada restart.

Cuba

Pilih tindakan watch yang betul untuk setiap fail.

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

        Semak

        Watch hanya ikut hidangan yang ada build:. Hidangan kedai kita yang mana tak boleh langsung diperhati?

        Pilih satu jawapan.

        Anda berjaya!

        Kini anda boleh nampak suntingan anda secara langsung dengan compose watch.

        Nak tahu lebih (pilihan)

        docker compose up --watch hidupkan dan perhati sekali gus, dengan log bercampur. Bekas perlukan stat, mkdir dan rmdir, dan penggunanya mesti boleh tulis ke sasaran. ignore: langkau folder seperti node_modules/. Bina semula paparkan Rebuilding service(s) ["api"] after changes were detected....

        Misi sebenar

        1. docker compose watch
        2. docker compose down

        0 daripada 4 langkah siap · Tanda anda disimpan.