Peta dunia

 

EN: Read in English

Dunia D2: Resepi

Tag dengan SemVer, Git SHA dan label

Anda akan belajar: namakan setiap image supaya sesiapa tahu tepat apa di dalamnya.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

Laman yang hidup jalankan diary:latest. Ia rosak waktu makan tengah hari. Versi mana itu?

Pilih satu jawapan.

Tengok

Satu binaan dapat dua tag, diary:1.2.0 dan diary:sha-3f2a9c1. docker images tunjuk IMAGE ID yang sama untuk kedua-duanya. Transkrip Docker: $ docker build -t diary:1.2.0 -t diary:sha-3f2a9c1 . [+] Building 0.1s (7/7) FINISHED docker:default => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 157B 0.0s => [internal] load metadata for docker.io/library/nginx:1.30-alpine 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [1/2] FROM docker.io/library/nginx:1.30-alpine@sha256:0e52bd054126cdc0 0.0s => => resolve docker.io/library/nginx:1.30-alpine@sha256:0e52bd054126cdc0 0.0s => [internal] load build context 0.0s => => transferring context: 237B 0.0s => [2/2] COPY index.html style.css /usr/share/nginx/html/ 0.0s => exporting to image 0.1s => => exporting layers 0.0s => => exporting manifest sha256:edf14bcbf50fc123879440a4c4421796cf24832bb 0.0s => => exporting config sha256:5954acf9ac3f89a825a1da5b54e47a6585e684fffcf 0.0s => => exporting attestation manifest sha256:2b823f771dcdaa00e2c6cf84ac554 0.0s => => exporting manifest list sha256:5bdca19bd493ff4cc37db8939d7389d63e05 0.0s => => naming to docker.io/library/diary:1.2.0 0.0s => => unpacking to docker.io/library/diary:1.2.0 0.0s => => naming to docker.io/library/diary:sha-3f2a9c1 0.0s => => unpacking to docker.io/library/diary:sha-3f2a9c1 0.0s $ docker images diary i Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA diary:1.2.0 5bdca19bd493 92.6MB 26.1MB diary:sha-3f2a9c1 5bdca19bd493 92.6MB 26.1MB

Laptop anda~/diary

  • Tiada tingkap terbuka

Bekas (container)

  • Belum ada container

Pek beku (image)

  • nginx:1.30-alpine8 layer · 93.5MB

0 container (0 berjalan), 1 image, 0 loker.

Satu pek, dua pelekat. 1.2.0 ialah tag Semantic Versioning (SemVer): Nombor versi dalam tiga bahagian: MAJOR.MINOR.PATCH. untuk manusia. sha-3f2a9c1 namakan commit Git yang tepat. ID sama: tiada apa disalin.

Teka

SemVer ialah MAJOR.MINOR.PATCH. Anda baiki salah ejaan di laman diari. 1.2.0 jadi apa?

Pilih satu jawapan.

Cuba

Bina arahan untuk versi 1.2.1. Tag juga dengan id pendek commit anda.

Ketik kepingan ikut turutan yang betul.

…

Cuba

Sekarang betul-betul. Bina diary dengan dua tag: 1.2.0 dan sha-3f2a9c1.

Laptop anda~/diary

  • Tiada tingkap terbuka

Bekas (container)

  • Belum ada container

Pek beku (image)

  • nginx:1.30-alpine8 layer · 93.5MB

0 container (0 berjalan), 1 image, 0 loker.

Tengok

Resepi ada baris LABEL dengan tajuk. Build tambah label versi. docker inspect cetak semua label, termasuk label maintainer nginx. Transkrip Docker: $ cat Dockerfile FROM nginx:1.30-alpine LABEL org.opencontainers.image.title="My diary" COPY index.html style.css /usr/share/nginx/html/ $ docker build --label org.opencontainers.image.version=1.2.0 -t diary:1.2.0 . [+] Building 0.1s (7/7) FINISHED docker:default => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 157B 0.0s => [internal] load metadata for docker.io/library/nginx:1.30-alpine 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [1/2] FROM docker.io/library/nginx:1.30-alpine@sha256:0e52bd054126cdc0 0.0s => => resolve docker.io/library/nginx:1.30-alpine@sha256:0e52bd054126cdc0 0.0s => [internal] load build context 0.0s => => transferring context: 237B 0.0s => [2/2] COPY index.html style.css /usr/share/nginx/html/ 0.0s => exporting to image 0.1s => => exporting layers 0.0s => => exporting manifest sha256:9409da405cca8d25a8a07705549a3091141ed3712 0.0s => => exporting config sha256:598541a38e02cf38d0d87c261ab9ebb1da88603d82d 0.0s => => exporting attestation manifest sha256:703edca29323e0a86011afe9d74ee 0.0s => => exporting manifest list sha256:dc422fcfbe8a9fc18df5bed451c2659b6bc4 0.0s => => naming to docker.io/library/diary:1.2.0 0.0s => => unpacking to docker.io/library/diary:1.2.0 0.0s $ docker inspect --format "{{json .Config.Labels}}" diary:1.2.0 {"maintainer":"NGINX Docker Maintainers <docker-maint@nginx.com>","org.opencontainers.image.title":"My diary","org.opencontainers.image.version":"1.2.0"}

Laptop anda~/diary

  • Tiada tingkap terbuka

Bekas (container)

  • Belum ada container

Pek beku (image)

  • nginx:1.30-alpine8 layer · 93.5MB

0 container (0 berjalan), 1 image, 0 loker.

label: Pelekat pada pek dengan satu fakta, contohnya versi atau pautan kod sumber. ialah fakta yang dilekat pada pek. Nama piawai bermula dengan org.opencontainers.image., contohnya title, version dan source. docker inspect membacanya.

Semak

Mahukah anda jalankan tag ini di laman yang hidup?

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

      Anda berjaya!

      Kini anda boleh tag dan label image dengan jelas.

      Nak tahu lebih (pilihan)

      docker tag diary:1.2.0 diary:1.2 tambah pelekat ketiga yang boleh dialih ke 1.2.1 nanti. Dalam Dunia C2, pipeline buat tag ini untuk anda. Label dari --label dan LABEL masuk ke senarai yang sama.

      Misi sebenar

      1. git rev-parse --short HEAD
      2. docker images

      0 daripada 3 langkah siap · Tanda anda disimpan.