EN: Read in English
Dunia D3: Loker & Talian Telefon
Bind mount dan tmpfs
Anda akan belajar: kongsi folder laptop dengan container, dan simpan data dalam memori sahaja.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Docker Engine 29 pada 31 Okt 2026
Masalahnya
Laptop anda~/shop
- Port laptop 8080 → site port 80
Bekas (container)
- siteberjalan
Pek beku (image)
- nginx:1.30-alpine8 layer · 93.5MB
- shop-site:1.09 layer · 92.6MB · sedang diguna
1 container (1 berjalan), 2 image, 0 loker.
Anda dah baiki halaman kedai di laptop. Bekas masih tunjuk halaman lama. Ia dah dibakar dalam image. Nak bina semula untuk setiap salah taip?
Tengok
bind mount: Rak anda sendiri: folder di laptop yang dibuka dalam container. Suntingan terus nampak. (rak sendiri) sorong rak anda masuk ke bekas. Bekas nampak folder laptop itu sendiri, bukan salinan. Tekan kepingan ikut urutan.
Ketik kepingan ikut turutan yang betul.
Cuba
Jalankan site dengan rak ./site anda. Kemudian ubah index.html dan curl sekali lagi.
Laptop anda~/shop
- 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.
Petunjuk
Folder perlukan./ di depan: -v ./site:/usr/share/nginx/html:ro.Semak
site berjalan dengan :ro. Sesuatu dalam bekas cuba simpan fail dalam folder itu. Apa jadi?
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
- postgres:18-alpine9 layer · 433MB
0 container (0 berjalan), 3 image, 0 loker.
tmpfs: Nota di papan putih: data dalam memori sahaja. Setiap kali berhenti, ia dipadam. ialah nota di papan putih: dalam memori sahaja. Ia laju dan tak pernah sentuh cakera. Setiap kali berhenti, ia dipadam.
Teka
Empat tempat untuk simpan fail. Teka dulu, kemudian jalankan.
Di mana setiap fail disimpan? Teka apa yang kekal, kemudian jalankan.
$ docker run -d --name kedai -v kedai-data:/data -v ./menu:/menu --tmpfs /tmp/cache nginx:1.30-alpineSoalan 1 daripada 2
Bekas bekal: container kedai
- Dalam bekas bekal (writable layer)
/app/today.txt - Nota dalam memori (tmpfs)
/tmp/cache/cache.bin
Di luar bekas bekal
- Loker kedai-data (volume)
/data/orders.db - Rak anda ./menu (bind mount)
/menu/menu.md
Lepas ini, anda jalankan:
Mulakan semula container.
$ docker restart kedaiPilih Kekal atau Hilang untuk setiap fail dahulu.
Semak
Pilih tempat yang betul untuk setiap kerja.
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Anda berjaya!
Kini anda boleh guna bind mount dan tmpfs.
Nak tahu lebih (pilihan)
--mount type=bind,src=./site,dst=/data ialah bentuk panjang. Ia menolak folder yang tiada; -v diam-diam buat folder kosong. Di Docker Desktop, volume lebih laju daripada bind mount.
Latihan sebenar (pilihan), dalam folder projek anda:
Misi sebenar
mkdir -p site && echo "<h1>Hello</h1>" > site/index.htmldocker run -d --name site -p 8080:80 -v ./site:/usr/share/nginx/html:ro nginx:1.30-alpinedocker rm -f site
0 daripada 4 langkah siap · Tanda anda disimpan.
English
You fixed the shop page on your laptop. The box still shows the old page. It was baked into the image. Rebuild for every typo?
A bind mount slides your own shelf into the lunchbox. The box sees your laptop folder itself, not a copy. Tap the pieces in order.
Run site with your ./site shelf. Then change index.html and curl again.
./ in front: -v ./site:/usr/share/nginx/html:ro.site runs with :ro. Something in the box tries to save a file in that folder. What happens?
tmpfs is a note on a whiteboard: memory only. It is fast and never touches the disk. Every stop wipes it.
Four places to keep a file. Guess first, then run it.
Pick the right place for each job.
You can now use bind mounts and tmpfs.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Docker docs: Bind mounts · Docker docs: tmpfs mounts
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?