cari
RumahOperasi dan penyelenggaraanDockerAnalisis mendalam lapisan fail docker (contoh terperinci)

Artikel ini membawakan anda pengetahuan yang berkaitan tentang pelapisan fail docker Artikel ini menggunakan contoh bekas docker untuk menerangkan beberapa prinsip lapisan fail docker.

Analisis mendalam lapisan fail docker (contoh terperinci)

Penyediaan Pengetahuan

  • Docker sebenarnya menggunakan beberapa ciri Kernel Linux untuk mencapai pengasingan sumber, dan sistem fail adalah salah satu daripadanya , untuk membolehkan sumber digunakan dengan lebih cekap, docker menggunakan struktur sistem fail hierarki untuk melaksanakan sistem fail kontena.
  • Secara peribadi, saya rasa prinsipnya sedikit seperti konsep alam semesta selari Sesetengah orang percaya bahawa terdapat alam semesta selari di alam semesta kita, iaitu pilihan berbeza yang kita buat akan mengedarkan alam semesta yang berbeza dan terus berjalan. . Bermimpi adalah dapat mengembara di antara alam semesta yang selari ini. Ia agak serupa di sini Selepas kita membungkus imej dan menjalankannya melalui docker run, alam semesta yang berbeza sebenarnya dicipta atas dasar ini Apabila kontena terus berjalan, kandungan kontena adalah sama dengan imej asal. Perkara akan mempunyai banyak penyelewengan dan perbezaan, dan secara beransur-ansur membentuk alam semesta mereka sendiri.

Sistem Fail Docker

Status lapisan sistem fail setiap bekas boleh diperolehi daripada pemeriksaan docker [id-kontainer] --format={{.GraphDriver}}

{map[LowerDir:/var/lib/docker/overlay2/52f456f455215e56b77087495a5d35323fbf1c0e0391f45349f386006c75865b-init/diff:/var/lib/docker/overlay2/e4b90240aa77212dde6499a49c421d26977ed9fe8a1f6fcbaaaf77d85c67654e/diff MergedDir:/var/lib/docker/overlay2/52f456f455215e56b77087495a5d35323fbf1c0e0391f45349f386006c75865b/merged UpperDir:/var/lib/docker/overlay2/52f456f455215e56b77087495a5d35323fbf1c0e0391f45349f386006c75865b/diff WorkDir:/var/lib/docker/overlay2/52f456f455215e56b77087495a5d35323fbf1c0e0391f45349f386006c75865b/work] overlay2}

Terdapat empat jenis terutamanya:

LowerDir

Ini ialah semua bekas berdasarkan imej ini akan menghala ke sistem fail yang sama, iaitu lapisan imej . Semua bekas Lapisan ini akan digunakan.

Jadi dari manakah lapisan ini berasal? untuk menyediakan sistem fail akhir dalam bekas

UpperDir

Ini adalah untuk merekodkan operasi bekas yang berbeza, dan kemudian melalui perbandingan lapisan Bawah, lapisan Gabung boleh dihasilkan

WorkDir

Belum difahami secara mendalam

Contoh

Lihat maklumat sistem fail lapisan cermin

docker run -d alpine:latest

Perhatikan UpperDir , ini adalah lapisan atas imej, iaitu, kita boleh membuat pengubahsuaian pada tahap ini, yang akan menjejaskan bekas yang dibuat kemudian

docker inspect alpine --format={{.GraphDriver}}
Lihat maklumat sistem fail bekas
{map[MergedDir:/var/lib/docker/overlay2/e4b90240aa77212dde6499a49c421d26977ed9fe8a1f6fcbaaaf77d85c67654e/merged UpperDir:/var/lib/docker/overlay2/e4b90240aa77212dde6499a49c421d26977ed9fe8a1f6fcbaaaf77d85c67654e/diff WorkDir:/var/lib/docker/overlay2/e4b90240aa77212dde6499a49c421d26977ed9fe8a1f6fcbaaaf77d85c67654e/work] overlay2}

Anda boleh melihat bahawa lapisan bawah bekas adalah lapisan atas imej Pengubahsuaian yang kami buat pada bekas akan ditunjukkan di lapisan atas, dan lapisan yang digabungkan akan disusun dan. dipaparkan pada bekas.

docker inspect 9a118484ba --format={{.GraphDriver}}
Kami boleh menggunakan baris arahan untuk menyemak perubahan dalam sistem fail kontena
{map[LowerDir:/var/lib/docker/overlay2/3d3f32727c4f7867d43c1e61d635ac0ed22e95ff39c66240166dd6614b81fe14-init/diff:/var/lib/docker/overlay2/e4b90240aa77212dde6499a49c421d26977ed9fe8a1f6fcbaaaf77d85c67654e/diff MergedDir:/var/lib/docker/overlay2/3d3f32727c4f7867d43c1e61d635ac0ed22e95ff39c66240166dd6614b81fe14/merged UpperDir:/var/lib/docker/overlay2/3d3f32727c4f7867d43c1e61d635ac0ed22e95ff39c66240166dd6614b81fe14/diff WorkDir:/var/lib/docker/overlay2/3d3f32727c4f7867d43c1e61d635ac0ed22e95ff39c66240166dd6614b81fe14/work] overlay2}

Memandangkan kami belum mengendalikan bekas, tiada perbezaan antara bekas dan imej sekarang

Kami memulakan bekas lain dan biarkan ia tidur selama 300 saat, kemudian masuk ke dalam bekas untuk mengubah suai beberapa maklumat fail
docker diff 9a118484ba

Semak perubahan dalam sistem fail kontena

# docker exec -it ca91bb /bin/sh

/ # echo "helloWorld" > /tmp/hello.txt
Anda boleh lihat, Kami membuat perubahan ini pada sistem fail dan semuanya telah direkodkan

Kandungan ini sebenarnya dalam direktori UpperDir
docker diff ca91bbffb801

C /root
C /root/.ash_history
C /tmp
A /tmp/hello.txt

Ubah suai kandungan kontena daripada mesin hos

tree -L 1 diff/

diff/
├── root
└── tmp2 directories, 0 files

Daripada eksperimen di atas, kita boleh tahu bahawa lapisan atas ialah kandungan tambahan, yang dicerminkan dalam perubahan bekas dengan bergabung dengan lapisan bawah. Jadi bolehkah kita mengubah suai lapisan atas secara langsung untuk mengendalikan bekas?

    Kami menambah demo direktori dalam direktori di mana bahagian atas terletak dan menyentuh fail di dalamnya
  • Mari kita lihat sama ada kita dapat melihat fail yang kami cipta daripada bekas

    # tree -L 2 ./
    
    ./
    ├── demo
    │   └── mytest.log
    ├── root
    └── tmp
        └── hello.txt
    Anda dapat melihat bahawa ia telah berkuat kuasa, jadi jika kami ingin memulakan bekas ini, kami boleh memadamkan terus semua kandungan lapisan atas.

    /demo # pwd
    /demo
    /demo # ls
    mytest.log

    Aplikasi

Cari jejak pemasangan perisian

    Dalam proses projek terdahulu, pelanggan sentiasa memerlukan kami untuk menyediakan, Kami tidak pernah menemui cara yang lebih baik untuk memberikan pelanggan kandungan yang akan diubah suai oleh perisian ejen kami Berdasarkan aplikasi fail berlapis docker ini, kami boleh menggunakan ejen pada bekas, dan kemudian ia boleh dilihat dengan sepintas lalu Temui direktori dan direktori mana. fail yang akan diubah suai oleh perisian.
  • Cepat pulihkan bekas

  • Cepat berinteraksi dengan sistem fail kontena

  • Lindungi yang mendasari sistem fail Tidak dimusnahkan

  • Jimat ruang hos

  • Pembelajaran yang disyorkan: "

    tutorial video docker
  • "

Atas ialah kandungan terperinci Analisis mendalam lapisan fail docker (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:CSDN. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Docker on Linux: Aplikasi dan Kes GunakanDocker on Linux: Aplikasi dan Kes GunakanApr 17, 2025 am 12:10 AM

Docker memudahkan penggunaan aplikasi dan pengurusan di Linux. 1) Docker adalah platform kontena yang membungkus aplikasi dan kebergantungan mereka ke dalam bekas ringan dan mudah alih. 2) Pada Linux, Docker menggunakan cgroup dan ruang nama untuk melaksanakan pengasingan kontena dan pengurusan sumber. 3) Penggunaan asas termasuk menarik imej dan bekas yang berjalan. Penggunaan lanjutan seperti DockerCompose boleh menentukan aplikasi multi-kontainer. 4) Debug biasa digunakan dockerlogs dan arahan dockerexec. 5) Pengoptimuman prestasi dapat mengurangkan saiz imej melalui pembinaan pelbagai peringkat, dan menjaga mudah dockerfile adalah amalan terbaik.

Docker: Aplikasi Containerizing untuk Mudah Alih dan SkalaDocker: Aplikasi Containerizing untuk Mudah Alih dan SkalaApr 16, 2025 am 12:09 AM

Docker adalah alat berasaskan teknologi kontena Linux yang digunakan untuk membungkus, mengedarkan dan menjalankan aplikasi untuk meningkatkan mudah alih aplikasi dan skalabiliti. 1) Perintah DockerBuild dan Dockerrun boleh digunakan untuk membina dan menjalankan bekas Docker. 2) DockerCompose digunakan untuk menentukan dan menjalankan aplikasi Docker Multi-Container untuk memudahkan pengurusan microservice. 3) Menggunakan pembinaan pelbagai peringkat dapat mengoptimumkan saiz imej dan meningkatkan kelajuan permulaan aplikasi. 4) Melihat log kontena adalah cara yang berkesan untuk masalah kontena debug.

Cara Memulakan Bekas oleh DockerCara Memulakan Bekas oleh DockerApr 15, 2025 pm 12:27 PM

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

Cara Melihat Log dari DockerCara Melihat Log dari DockerApr 15, 2025 pm 12:24 PM

Kaedah untuk melihat log Docker termasuk: Menggunakan arahan Log Docker, contohnya: Log Docker Container_Name Gunakan arahan docker exec untuk menjalankan /bin /sh dan lihat fail log, contohnya: docker exec -it container_name /bin /sh; Cat /var/log/container_name.log Gunakan arahan log docker-compose compose, contohnya: docker-compose -f docker-com

Cara memeriksa nama bekas DockerCara memeriksa nama bekas DockerApr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara membuat bekas untuk DockerCara membuat bekas untuk DockerApr 15, 2025 pm 12:18 PM

Buat bekas di Docker: 1. Tarik Imej: Docker Pull [Nama Cermin] 2. Buat bekas: Docker Run [Options] [Mirror Name] [Command] 3. Mulailah bekas: Docker Start [Nama Container]

Cara keluar dari bekas dengan DockerCara keluar dari bekas dengan DockerApr 15, 2025 pm 12:15 PM

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Cara menyalin fail di Docker ke luarCara menyalin fail di Docker ke luarApr 15, 2025 pm 12:12 PM

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),