cari
RumahOperasi dan penyelenggaraanDockerPrinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

Artikel ini membawakan anda pengetahuan yang berkaitan tentang sistem fail bersama dan pemahaman berlapis tentang prinsip imej Docker, termasuk isu yang berkaitan dengan sistem fail bersama, struktur hierarki dan amalan berlapis saya harap ia akan membantu semua orang.

Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

Docker - Sistem Fail Union dan Pemahaman Berlapis Prinsip Pencerminan

1 Sistem)

UnionFS (Sistem Fail Kesatuan): Sistem Fail Union (UnionFS) ialah sistem fail berlapis, ringan dan berprestasi tinggi yang menyokong pengubahsuaian pada sistem fail kerana Satu penyerahan boleh digunakan lapisan oleh lapisan, dan direktori yang berbeza boleh dipasang pada sistem fail maya yang sama (satukan beberapa direktori ke dalam sistem fail maya tunggal). Sistem fail Union ialah asas imej Docker. Imej boleh diwarisi melalui lapisan Berdasarkan imej asas (tanpa imej induk), pelbagai imej aplikasi tertentu boleh dihasilkan.

Selain itu, bekas Docker yang berbeza boleh berkongsi beberapa lapisan sistem fail asas, dan pada masa yang sama menambah lapisan perubahan unik mereka sendiri, meningkatkan kecekapan storan.

AUFS (AnotherUnionFS) yang digunakan dalam Docker ialah sistem fail kesatuan. AUFS menyokong tetapan kebenaran baca sahaja, tulis baca dan boleh putih untuk setiap direktori ahli (serupa dengan cawangan Git Pada masa yang sama, AUFS mempunyai konsep yang serupa dengan hierarki Untuk cawangan Kebenaran baca sahaja boleh diubah suai secara logik (tanpa menjejaskan bahagian baca sahaja).

Docker pada masa ini menyokong jenis sistem fail bersama termasuk AUFS, btrfs, vfs dan DeviceMapper.

Ciri-ciri: Muatkan berbilang sistem fail pada masa yang sama, tetapi dari luar, hanya satu sistem fail dapat dilihat dengan memuatkan bersama akan menindih setiap lapisan sistem fail, supaya sistem fail akhir akan merangkumi semua asas fail dan direktori.

imej asas

imej asas tidak bergantung pada mana-mana imej lain, ia dibina sepenuhnya dari awal dan imej lain dibina di atasnya dibandingkan dengan asas bangunan dan asal usul pencerminan buruh pelabuhan.

Imej asas mempunyai dua makna: (1) ia tidak bergantung pada imej lain dan dibina dari awal; (2) imej lain boleh dikembangkan berdasarkannya.

Jadi, apa yang boleh dipanggil imej asas biasanya imej Docker dari pelbagai pengedaran Linux, seperti Ubuntu, Debian, CentOS, dll.

Prinsip pemuatan imej Docker

Imej Docker sebenarnya terdiri daripada lapisan sistem fail Tahap sistem fail ini ialah UnionFS.

Linux biasa memerlukan dua FS untuk dimulakan dan dijalankan, bootfs rootfs:

bootf (sistem fail but) terutamanya termasuk bpotloader dan kernel, dan bootloader terutamanya Boot memuatkan kernel, Linux akan memuatkan sistem fail bootfs apabila ia mula-mula dimulakan Lapisan bawah imej Docker ialah but. Lapisan ini adalah sama dengan sistem Linux/Unix biasa kami, termasuk pemuat but pemuat but dan kernel kernel. Apabila pemuatan but selesai, keseluruhan kernel berada dalam memori Pada masa ini, hak untuk menggunakan memori telah dipindahkan dari but ke kernel Pada masa ini, sistem juga akan menyahpasang but. Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

rootfs (sistem fail root), di atas but. Mengandungi direktori dan fail standard seperti /dev, /proc, /bin, /etc dan sebagainya dalam sistem Linux biasa. Roots ialah pelbagai pengedaran sistem pengendalian, seperti Ubuntu, Centos, dll.

Mengapa tiada kernel dalam imej Docker?

Dari segi saiz imej, imej yang agak kecil hanya melebihi 1KB atau beberapa MB, manakala fail kernel memerlukan beberapa Sepuluh MB, jadi tiada kernel dalam imej Selepas dimulakan sebagai bekas, imej akan terus menggunakan kernel hos, dan imej itu sendiri hanya menyediakan rootfs yang sepadan, iaitu fail ruang pengguna. sistem yang diperlukan untuk operasi biasa sistem, seperti /dev/, /proc, /bin, /etc dan direktori lain, jadi pada dasarnya tiada direktori /boot dalam bekas, dan /boot menyimpan fail dan direktori yang berkaitan dengan isirong.

Memandangkan bekas bermula dan berjalan terus menggunakan kernel hos, ia tidak langsung memanggil perkakasan fizikal, jadi tiada pemacu perkakasan yang terlibat, jadi kernel dan pemacu tidak digunakan. Bagi teknologi mesin maya, setiap mesin maya mempunyai kernel bebasnya sendiri

2 Struktur hierarki

Imej Docker ialah struktur berlapis, dengan setiap lapisan dibina pada lapisan lain Di atas, untuk mencapai fungsi. daripada menambah kandungan secara berperingkat, imej Docker turut dimuat turun dalam lapisan Ambil muat turun imej redis sebagai contoh:

Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

Seperti yang anda boleh. lihat, imej baharu dijana dengan menindih lapisan imej asas demi lapisan. Setiap kali anda memasang perisian, anda menambah lapisan pada imej sedia ada. Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

Mengapa imej Docker menggunakan struktur berlapis ini?

Faedah terbesar ialah perkongsian sumber. Sebagai contoh, jika berbilang imej dibina daripada imej Pangkalan yang sama, maka hos hanya perlu menyimpan satu imej asas pada cakera, dan hanya satu imej asas perlu dimuatkan ke dalam memori, supaya ia boleh menyediakan semua bekas , dan setiap lapisan imej boleh dikongsi.

Lapisan bekas boleh tulis

Imej docker adalah baca sahaja Apabila bekas bermula, lapisan boleh tulis baharu dimuatkan ke atas Cermin.

Lapisan baharu ini ialah lapisan bekas boleh tulis, dan segala-galanya di bawah bekas dipanggil lapisan cermin.

Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

Docker menggunakan strategi salin atas tulis untuk memastikan keselamatan imej asas, serta prestasi yang lebih tinggi dan penggunaan ruang.

  • Apabila bekas perlu membaca fail

Mulakan dari lapisan imej atas dan cari ke bawah selepas menemuinya, baca ke dalam ingatan dalam ingatan, , boleh digunakan terus. Dalam erti kata lain, bekas Docker yang berjalan pada mesin yang sama berkongsi fail yang sama semasa runtime.

  • Apabila bekas perlu mengubah suai fail

Cari dari atas ke bawah dan salin ke lapisan bekas selepas menemuinya Untuk bekas, perkara yang anda boleh lihat ialah lapisan bekas Untuk fail ini, anda tidak boleh melihat fail dalam lapisan imej, dan kemudian mengubah suai terus fail dalam lapisan bekas.

  • Apabila bekas perlu memadamkan fail

Cari dari atas ke bawah, dan selepas menemuinya, rekodkan pemadaman dalam bekas itu , tetapi pemadaman lembut. Ini menyebabkan saiz imej hanya bertambah, bukan berkurangan.

  • Apabila bekas perlu menambah fail

Tambahkannya terus ke lapisan paling atas bekas boleh tulis tanpa menjejaskan lapisan imej.

Semua perubahan pada bekas, sama ada menambah, memadam atau mengubah suai fail, hanya akan berlaku dalam lapisan bekas. Hanya lapisan bekas boleh ditulis dan semua lapisan imej di bawah lapisan bekas adalah baca sahaja, jadi imej boleh dikongsi oleh berbilang bekas.

3. Amalan pelapisan - komited untuk menyerahkan imej

Buat bekas melalui imej, kemudian kendalikan lapisan bekas, pastikan lapisan imej tidak berubah, dan kemudian bungkus lapisan bekas dan lapisan imej selepas operasi Hantar sebagai imej baharu.

komit buruh pelabuhan: Buat imej baharu menggunakan bekas.

Sintaks:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

PILIHAN keterangan:

  • **-a*Pengarang cermin menyerahkan
  • ** -c*Gunakan arahan Dockerfile untuk mencipta imej;
  • **-m *Komit teks;
Contoh penggunaan: Cipta bekas melalui imej, kemudian kendalikan lapisan bekas, dan kemudian bungkus lapisan bekas yang dikendalikan dan lapisan imej ke dalam imej baharu untuk diserahkan.

1 Muat turun imej tomcat

2. Buat dan jalankan bekas tomcat melalui imej tomcat:

3 bekas:
docker run -d --name="tomcat01" tomcat

4. Salin fail dalam direktori webapps.dist bekas tomcat ke direktori webapps:
docker exec -it tomcat01 /bin/bash

5 >Tukar bekas dc904437d987 Simpan sebagai imej baharu dan tambah maklumat pengirim dan maklumat perihalan Imej yang diserahkan dinamakan tomcatplus dan versinya ialah 1.0:
cp -r webapps.dist/* webapps

Anda boleh melihat penyerahan komit Saiz imej tomcat baharu adalah lebih besar sedikit daripada imej tomcat asal kerana kami menyalin fail dalam lapisan bekas.
docker commit -a="wanli" -m="add webapps files" dc904437d987 tomcatplus:1.0

Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

Pembelajaran yang disyorkan: "

tutorial video docker

"Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (contoh terperinci)

Atas ialah kandungan terperinci Prinsip imej Docker: sistem fail bersama dan pemahaman berlapis (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: Amalan dan Petua TerbaikDocker on Linux: Amalan dan Petua TerbaikApr 13, 2025 am 12:15 AM

Amalan terbaik untuk menggunakan Docker di Linux termasuk: 1. Amalan ini boleh membantu pengguna menggunakan Docker dengan cekap, mengelakkan masalah biasa dan mengoptimumkan aplikasi kontena.

Menggunakan Docker dengan Linux: Panduan KomprehensifMenggunakan Docker dengan Linux: Panduan KomprehensifApr 12, 2025 am 12:07 AM

Menggunakan Docker di Linux dapat meningkatkan kecekapan pembangunan dan penempatan. 1. Pasang Docker: Gunakan skrip untuk memasang Docker di Ubuntu. 2. Sahkan pemasangan: Jalankan Sudodockerrunhello-World. 3. Penggunaan Asas: Buat kontena Nginx Dockerrun-Namemy-Nginx-P8080: 80-Dnginx. 4. Penggunaan Lanjutan: Buat imej tersuai, bina dan lari menggunakan Dockerfile. 5. Pengoptimuman dan amalan terbaik: Ikuti amalan terbaik untuk menulis dockerfiles menggunakan pelbagai peringkat membina dan dockercompose.

Pemantauan Docker: Mengumpulkan Metrik dan Penjejakan Kesihatan BekasPemantauan Docker: Mengumpulkan Metrik dan Penjejakan Kesihatan BekasApr 10, 2025 am 09:39 AM

Inti pemantauan Docker adalah untuk mengumpul dan menganalisis data operasi bekas, terutamanya termasuk petunjuk seperti penggunaan CPU, penggunaan memori, trafik rangkaian dan cakera I/O. Dengan menggunakan alat seperti Prometheus, Grafana dan Cadvisor, pemantauan komprehensif dan pengoptimuman prestasi bekas dapat dicapai.

Docker Swarm: Membina Kluster Kontena Skala dan TahanDocker Swarm: Membina Kluster Kontena Skala dan TahanApr 09, 2025 am 12:11 AM

Dockerswarm boleh digunakan untuk membina kelompok kontena berskala dan sangat tersedia. 1) Mulakan kelompok kawanan menggunakan DockersWarminit. 2) Sertai kelompok kawanan untuk menggunakan dockerswarmjoin-terperangkap:. 3) Buat perkhidmatan menggunakan DockerServiceCreate-Namemy-Nginx-Replicas3nginx. 4) Menyebarkan perkhidmatan kompleks menggunakan dockerStackDeploy-cdocker-compose.ymlmyApp.

Docker dengan Kubernet: Orchestration Container untuk Aplikasi PerusahaanDocker dengan Kubernet: Orchestration Container untuk Aplikasi PerusahaanApr 08, 2025 am 12:07 AM

Bagaimana cara menggunakan Docker dan Kubernet untuk melaksanakan orkestrasi kontena aplikasi perusahaan? Melaksanakannya melalui langkah -langkah berikut: Buat imej Docker dan tolak ke DockerHub. Buat penempatan dan perkhidmatan di Kubernet untuk menggunakan aplikasi. Gunakan Ingress untuk menguruskan akses luaran. Memohon pengoptimuman prestasi dan amalan terbaik seperti pembinaan pelbagai peringkat dan kekangan sumber.

Penyelesaian Masalah Docker: Mendiagnosis dan Menyelesaikan Masalah BiasaPenyelesaian Masalah Docker: Mendiagnosis dan Menyelesaikan Masalah BiasaApr 07, 2025 am 12:15 AM

Soalan Lazim Docker boleh didiagnosis dan diselesaikan melalui langkah -langkah berikut: 1. Lihat status kontena dan log, 2. Periksa konfigurasi rangkaian, 3. Pastikan bahawa kelantangan dipasang dengan betul. Melalui kaedah ini, masalah di Docker boleh ditempatkan dengan cepat dan tetap, meningkatkan kestabilan sistem dan prestasi.

Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps AndaSoalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps AndaApr 06, 2025 am 12:01 AM

Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

Docker Security Hardening: Melindungi bekas anda dari kelemahanDocker Security Hardening: Melindungi bekas anda dari kelemahanApr 05, 2025 am 12:08 AM

Kaedah Peningkatan Keselamatan Docker termasuk: 1. Gunakan parameter-cap-drop untuk menghadkan keupayaan Linux, 2. Buat bekas baca sahaja, 3 set tag Selinux. Strategi ini melindungi bekas dengan mengurangkan pendedahan kelemahan dan mengehadkan keupayaan penyerang.

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)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan