Peta dunia

 

EN: Read in English

Dunia D2: Resepi · Cabaran bos

Sinar pengecut

Anda akan belajar: bungkus laman sebenar dengan nginx: kecil, bukan root dan boleh dicapai.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Docker Engine 29 pada 31 Okt 2026

Masalahnya

Folder diari ada index.html, style.css, notes.txt dan Dockerfile. Resepi pilih asasnya dengan ARG BASE=nginx:latest. Transkrip Docker: $ ls Dockerfile index.html notes.txt style.css $ cat Dockerfile ARG BASE=nginx:latest FROM ${BASE} COPY . /usr/share/nginx/html/

Laptop anda~/diary

  • Tiada tingkap terbuka

Bekas (container)

  • Belum ada container

Pek beku (image)

  • nginx:1.30-alpine8 layer · 93.5MB
  • nginx:latest7 layer · 243MB

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

Boss: Sinar pengecut! Bungkus laman diari anda dengan nginx. Garisan penamat: bawah 100MB, tiada nota rahsia di dalam, dan tidak berjalan sebagai root.

Cuba

Peringkat 1: buat ia berfungsi. Bina diary:1.0 dan hidangkan di port laptop 8080.

Laptop anda~/diary

  • Tiada tingkap terbuka

Bekas (container)

  • Belum ada container

Pek beku (image)

  • nginx:1.30-alpine8 layer · 93.5MB
  • nginx:latest7 layer · 243MB

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

Semak

docker images kata diary:1.0 ialah 241MB. Sasarannya bawah 100MB. Langkah mana paling membantu?

Pilih satu jawapan.

Cuba

Peringkat 2: rancang pengecutan. Kecilkan pek makanan ke 70MB atau kurang.

Kecilkan pek makanan bawah 70MB. Setiap butang ialah helah sebenar.

Saiz image 186MB

Sasaran: 70MBMula: 186MB

Base image

Helah resepi

Dockerfile

FROM nginx:1.29
COPY . /usr/share/nginx/html

Cuba

Peringkat 3: kecilkan betul-betul. Tinggalkan notes.txt di rumah, dan bina diary:2.0 atas nginx:1.30-alpine.

Laptop anda~/diary

  • Tiada tingkap terbuka

Bekas (container)

  • Belum ada container

Pek beku (image)

  • nginx:1.30-alpine8 layer · 93.5MB
  • nginx:latest7 layer · 243MB

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

Teka

Anda tambah USER nginx sahaja pada resepi. Apa jadi bila bekas itu mula?

Pilih satu jawapan.

Cuba

Peringkat 4: tanpa root. Resepi ini sudah serahkan folder kepada nginx. Tambah USER nginx, bina diary:3.0, jalankan di 8080, dan ketuk.

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 berjaya!

Kini anda boleh bungkus laman sebenar: kecil, selamat dan bukan root.

Nak tahu lebih (pilihan)

Kenapa ada baris chown? nginx tulis cache ke /var/cache/nginx dan id prosesnya ke /run/nginx.pid. Sebagai root, boleh. Sebagai nginx, hanya jika ia pemiliknya. Sesetengah platform halang port rendah untuk pengguna biasa. Ramai pasukan guna 8080.

Misi sebenar

  1. docker images

0 daripada 4 langkah siap · Tanda anda disimpan.