EN: Read in English
Dunia D4: Set Hidangan
Skala satu servis
Anda akan belajar: jalankan lebih banyak salinan satu service, dan bila ia tak boleh.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Docker Engine 29 pada 31 Okt 2026
Masalahnya
Waktu makan tengah hari! Seorang tukang masak API tak menang tangan. Anda mahu tiga. Apa anda buat?
Pilih satu jawapan.
Tengok
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.
scale (skala) (scale): Jalankan lebih banyak salinan satu service: docker compose up -d --scale api=3. (skala) satu service bermaksud jalankan lebih banyak salinannya. --scale api=3 minta tiga. Compose beri nombor: api-1, api-2, api-3.
Cuba
Waktu sibuk dah tamat. Simpan dua tukang masak api sahaja.
Laptop anda~/kedai-kancil
- Port laptop 8080 → kedai-kancil-web-1 port 80
Bekas (container)
- kedai-kancil-api-1berjalan
- kedai-kancil-api-2berjalan
- kedai-kancil-api-3berjalan
- kedai-kancil-web-1berjalan
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
- redis:8-alpine7 layer · 162MB
Talian telefon (rangkaian)
- kedai-kancil_defaultkedai-kancil-api-1 ↔ kedai-kancil-api-2 ↔ kedai-kancil-api-3 ↔ kedai-kancil-web-1
4 container (4 berjalan), 6 image, 0 loker.
Petunjuk
docker compose up -d --scale api=2Teka
Sekarang anda skala web jadi dua. Kedua-dua salinan mahu tingkap 8080 di laptop. Apa jadi?
Pilih satu jawapan.
Semak
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.
Kata sebenar: port is already allocated. Maksudnya: web-1 dah pegang tingkap 8080.
Semak
Boleh hidangan ini diskala di satu laptop? Kanan untuk ya, kiri untuk tidak.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
api tanpa ports
Anda berjaya!
Kini anda boleh jalankan lebih banyak salinan satu service.
Nak tahu lebih (pilihan)
deploy: replicas: 3 dalam fail buat perkara sama seperti pilihan itu. Panggil api pada talian telefon kini jumpa ketiga-tiga bekas. Docker tak betul-betul bahagikan kerja antara mereka. Proxy yang buat begitu, atau Kubernetes dalam Bahagian 3. Compose jalan di satu mesin sahaja.
Latihan sebenar (pilihan): dalam projek yang ada service api tanpa ports, jalankan docker compose up -d --scale api=3, kemudian docker compose ps.
English
Lunch rush! One API cook can’t keep up. You want three. What do you do?
To scale a service is to run more copies of it. --scale api=3 asks for three. Compose numbers them: api-1, api-2, api-3.
The rush is over. Keep just two api cooks.
docker compose up -d --scale api=2Now you scale web to two. Both copies want hatch 8080 on your laptop. What happens?
Real words: port is already allocated. Plain words: web-1 already holds hatch 8080.
Can this dish scale on one laptop? Right for yes, left for no.
You can now run more copies of one service.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: docker compose up --scale · Compose Deploy Specification: replicas · Compose file reference: container_name
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?