Peta dunia

 

EN: Read in English

Dunia D2: Resepi

Konteks binaan dan .dockerignore

Anda akan belajar: apa yang docker build hantar ke dapur, dan cara tinggalkan rahsia di rumah.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

Laman diari dibina dengan COPY . dan dihidang di 8080. curl minta /notes.txt dan dapat nota rahsia. Transkrip Docker: $ docker build -t diary:1.0 . [+] Building 0.1s (7/7) FINISHED docker:default => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 90B 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: 217B 0.0s => [2/2] COPY . /usr/share/nginx/html/ 0.0s => exporting to image 0.1s => => exporting layers 0.0s => => exporting manifest sha256:0d5a886a786f4e692550502e61fe6a2b22542eb57 0.0s => => exporting config sha256:1fe3018005d8493b8c09a866ec4ef49aca2206d928e 0.0s => => exporting attestation manifest sha256:16f425bb5a0a067892c35bc1281ca 0.0s => => exporting manifest list sha256:6002bee7edbf3ff1d8f5ded132eb1f299d2f 0.0s => => naming to docker.io/library/diary:1.0 0.0s => => unpacking to docker.io/library/diary:1.0 0.0s $ docker run -d --name web -p 8080:80 diary:1.0 d01bb817dd03bbe494749e20379b172d1bbab0f0cd24a24526b0153ea2d1cc87 $ curl -s localhost:8080/notes.txt My secret notes: crush on Amir.

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.

Anda sudah lancar laman diari. Kawan anda buka /notes.txt. Nota rahsia anda ada di internet! Macam mana ia masuk?

Tengok

Ketik baris yang menghantar folder anda.

0 daripada 1 dijumpai

docker build . hantar seluruh folder ke dapur. Folder itu ialah konteks binaan (build context): Folder yang dihantar ke dapur semasa build. COPY hanya boleh ambil dari situ.. COPY . salin semuanya, nota pun sekali.

Cuba

Hantar ke dapur, atau tinggal di rumah?

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

      Cuba

      Fail .dockerignore: Senarai fail yang ditinggalkan di rumah. Ia tidak dihantar ke build. senaraikan apa yang tinggal di rumah. Buat satu, bina semula sebagai diary:1.1, jalankan, kemudian minta /notes.txt.

      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.

      Teka

      .dockerignore senaraikan .env. Resepi tulis COPY . .. Adakah .env dalam image?

      Pilih satu jawapan.

      Semak

      Baris .dockerignore yang bagus? Leret ke kanan untuk ya, ke kiri untuk “perlu dibaiki”.

      Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

      1 / 5.git
      .git

      Anda berjaya!

      Kini anda boleh pilih apa yang dihantar ke dapur dengan .dockerignore.

      Nak tahu lebih (pilihan)

      Baris yang bermula dengan ! bawa balik satu fail: *.md kemudian !README.md. Anda boleh senaraikan Dockerfile dan .dockerignore juga; build tetap membacanya. Konteks yang kecil juga bantu cache, sebab kurang fail yang boleh berubah.

      Misi sebenar

      0 daripada 3 langkah siap · Tanda anda disimpan.