EN: Read in English
Dunia D1: Container Pertama
Tag dan perangkap latest
Anda akan belajar: apa itu tag, dan kenapa latest boleh mengejutkan anda.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Docker Engine 29 pada 31 Okt 2026
Masalahnya
Aina jalankan docker run nginx pada bulan Januari. Ben jalankan baris yang sama hari ini. Mereka dapat versi nginx yang berbeza! Macam mana?
Pilih satu jawapan.
Tengok
Laptop anda~
- Tiada tingkap terbuka
Bekas (container)
- Belum ada container
Pek beku (image)
- alpine:3.221 layer · 12.9MB
- nginx:1.30-alpine8 layer · 93.5MB
0 container (0 berjalan), 2 image, 0 loker.
tag: Label selepas titik bertindih, contohnya nginx:1.30-alpine. Tiada tag bermaksud :latest. ialah label selepas titik bertindih, contohnya 1.30-alpine. Tiada tag? Docker kata Using default tag: latest.
Cuba
Label mana yang boleh tiba-tiba beri anda versi baru?
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Teka
Adakah latest: Hanya nama tag lalai. Pembuatnya boleh alihkan ke versi baru bila-bila masa. sentiasa versi paling baru dan paling selamat?
Pilih satu jawapan.
Semak
Laptop anda~
- Tiada tingkap terbuka
Bekas (container)
- Belum ada container
Pek beku (image)
- alpine:3.221 layer · 12.9MB
- nginx:1.30-alpine8 layer · 93.5MB
0 container (0 berjalan), 2 image, 0 loker.
Dua bekas, kedua-duanya “nginx”. Satu jawab 1.30.6, satu lagi 1.31.8. Anda uji yang satu, tapi produksi dapat yang lain. Itulah perangkap latest.
Cuba
Giliran anda. Jalankan web daripada tag yang tetap: nginx 1.30 atas Alpine. Tiada lompatan mengejut.
Laptop anda~
- Tiada tingkap terbuka
Bekas (container)
- Belum ada container
Pek beku (image)
- alpine:3.221 layer · 12.9MB
- nginx:1.30-alpine8 layer · 93.5MB
0 container (0 berjalan), 2 image, 0 loker.
Semak
Laptop anda~
- Tiada tingkap terbuka
Bekas (container)
- Belum ada container
Pek beku (image)
- alpine:3.221 layer · 12.9MB
- nginx:1.30-alpine8 layer · 93.5MB
0 container (0 berjalan), 2 image, 0 loker.
Tag yang tak wujud? Ralat sebenar berakhir dengan nginx:9.9: not found. Maksudnya: peti sejuk tiada pek dengan label itu.
Anda berjaya!
Kini anda boleh pilih tag dengan sengaja dan elak perangkap latest.
Nak tahu lebih (pilihan)
1.30-alpine pun dapat pembaikan kecil, jadi pek itu masih boleh berubah sedikit. Untuk bekukan satu pek yang tepat, guna digest: nginx@sha256:…. Dunia D5 terangkan digest. Satu peraturan buat masa ini: jangan guna latest dalam produksi.
Latihan sebenar (pilihan):
Misi sebenar
docker pull nginx:1.30-alpinedocker images nginx
0 daripada 3 langkah siap · Tanda anda disimpan.
English
Aina ran docker run nginx in January. Ben ran the same line today. They got different versions of nginx! How?
A tag is the label after the colon, like 1.30-alpine. No tag? Docker says Using default tag: latest.
Which labels could suddenly give you a new version?
Is latest always the newest, safest version?
Two boxes, both “nginx”. One answers 1.30.6, the other 1.31.8. You tested one, but production got the other. That is the latest trap.
Your turn. Run web from a pinned tag: nginx 1.30 on Alpine. No surprise jumps.
A tag that doesn’t exist? The real error ends with nginx:9.9: not found. Plain words: the freezer has no pack with that label.
You can now pick tags on purpose and dodge the latest trap.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: docker image pull · docker image tag · What is an image?
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?