BM: Baca dalam Bahasa Melayu
World D2: Recipes
CMD vs ENTRYPOINT
You will learn: which part of a start command you can swap, and which part stays.
Checked with Docker Engine 29 on 31 Oct 2026
The problem
The image say:1.0 has CMD ["echo", "Selamat datang!"]. You type docker run --rm say:1.0 echo Hai. What prints?
Pick one answer.
Watch
Your laptop~
- No open hatches
Lunchboxes (containers)
- No containers yet
Frozen packs (images)
- alpine:3.221 layers · 12.9MB
- greet:1.01 layers · 12.8MB
- say:1.01 layers · 12.8MB
0 containers (0 running), 3 images, 0 lockers.
CMD is the default order, like “the usual, please”. Say something else after the image name, and your order replaces it.
Try it
greet:1.0 uses ENTRYPOINT: The fixed command an image always runs. Words you add go after it.: a fixed first part. Run it. Then run it again with a place name at the end.
Your laptop~
- No open hatches
Lunchboxes (containers)
- No containers yet
Frozen packs (images)
- alpine:3.221 layers · 12.9MB
- greet:1.01 layers · 12.8MB
- say:1.01 layers · 12.8MB
0 containers (0 running), 3 images, 0 lockers.
Hint
Put your words aftergreet:1.0, like Pasar Seni.Predict
greet:1.0 has ENTRYPOINT ["echo", "Selamat datang ke"]. You type docker run --rm greet:1.0 Aina. What prints?
Pick one answer.
Check
Which instruction does each job?
Drag a card into a box. Or tap the card, then tap the box.
Check
Your laptop~
- No open hatches
Lunchboxes (containers)
- No containers yet
Frozen packs (images)
- alpine:3.221 layers · 12.9MB
- greet:1.01 layers · 12.8MB
- say:1.01 layers · 12.8MB
0 containers (0 running), 3 images, 0 lockers.
Real warning: JSONArgsRecommended. Plain words: write CMD as a list in brackets. Without brackets, a shell runs your app. A stop signal may not reach it.
You did it!
You can now choose between CMD and ENTRYPOINT.
Go deeper (optional)
docker run --entrypoint whoami greet:1.0 swaps the fixed part for one run. The bracket form is called exec form. It runs your app as process 1, so docker stop reaches it quickly.
Real mission
docker build -t greet:1.0 .docker run --rm greet:1.0 Pasar Seni
0 of 3 steps done · Your ticks are saved.
Bahasa Melayu
Image say:1.0 ada CMD ["echo", "Selamat datang!"]. Anda taip docker run --rm say:1.0 echo Hai. Apa yang keluar?
CMD ialah pesanan biasa, macam “macam biasa”. Sebut benda lain selepas nama image, dan pesanan anda menggantikannya.
greet:1.0 guna ENTRYPOINT: bahagian depan yang tetap. Jalankan ia. Kemudian jalankan lagi dengan nama tempat di hujung.
greet:1.0, contohnya Pasar Seni.greet:1.0 ada ENTRYPOINT ["echo", "Selamat datang ke"]. Anda taip docker run --rm greet:1.0 Aina. Apa yang keluar?
Arahan mana buat kerja yang mana?
Amaran sebenar: JSONArgsRecommended. Maksudnya: tulis CMD sebagai senarai dalam kurungan. Tanpa kurungan, shell yang jalankan aplikasi. Isyarat berhenti mungkin tak sampai.
Kini anda boleh pilih antara CMD dan ENTRYPOINT.
You finished this before. Practice is always welcome!
Official docs: Dockerfile reference: CMD · Dockerfile reference: ENTRYPOINT · Build check: JSONArgsRecommended
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?