Peta dunia

 

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

docker pull nginx paparkan Using default tag: latest, kemudian tarik nginx:latest. docker images kini senaraikan nginx:1.30-alpine dan nginx:latest bersebelahan. Transkrip Docker: $ docker pull nginx Using default tag: latest latest: Pulling from library/nginx 6fc242d221a6: Pull complete a071113ac575: Pull complete 9f604dae09b2: Pull complete 6e2ab1f3ef4e: Pull complete c139fe92686d: Pull complete d322f1bf41d8: Pull complete a670537bed70: Pull complete Digest: sha256:5ab5b0b01097420873a3f3330f44248e34a3c2a3e8d5ee30658aeae8cb7435da Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest $ docker images i Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA alpine:3.22 2e0b81d60597 12.9MB 3.88MB nginx:1.30-alpine 0e52bd054126 93.5MB 27MB nginx:latest 5ab5b0b01097 243MB 66.8MB

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

      Dua bekas, kedua-duanya nginx. pinned jawab Server: nginx/1.30.6. newest, daripada latest, jawab Server: nginx/1.31.8. Transkrip Docker: $ docker run -d --name pinned -p 8080:80 nginx:1.30-alpine 2f1e4458ce8eeb100f4beb4a2a42307bc50f70777b97668cd744a843fd5270df $ docker run -d --name newest -p 8081:80 nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx 6fc242d221a6: Pull complete a071113ac575: Pull complete 9f604dae09b2: Pull complete 6e2ab1f3ef4e: Pull complete c139fe92686d: Pull complete d322f1bf41d8: Pull complete a670537bed70: Pull complete Digest: sha256:5ab5b0b01097420873a3f3330f44248e34a3c2a3e8d5ee30658aeae8cb7435da Status: Downloaded newer image for nginx:latest 5e58aeadbf439542332dc96b9b89c8c3cab36fa6762c85b2147fbed0479af324 $ curl -sI localhost:8080 | grep Server Server: nginx/1.30.6 $ curl -sI localhost:8081 | grep Server Server: nginx/1.31.8

      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

      docker pull nginx:9.9 gagal: failed to resolve reference, nginx:9.9 not found. Transkrip Docker: $ docker pull nginx:9.9 Error response from daemon: failed to resolve reference "docker.io/library/nginx:9.9": docker.io/library/nginx:9.9: not found

      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

      1. docker pull nginx:1.30-alpine
      2. docker images nginx

      0 daripada 3 langkah siap · Tanda anda disimpan.