Apakah dua teknologi teras docker?
Dua teknologi teras: 1. "Ruang nama Linux", yang merupakan sejenis pengkapsulan dan pengasingan sumber sistem global, supaya proses dalam ruang nama yang berbeza mempunyai sumber sistem global bebas 2. "Kumpulan Kawalan", yang boleh Mengasingkan sumber fizikal pada mesin hos dan melaksanakan kuota dan ukuran sumber.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, versi docker-1.13.1, komputer Dell G3.
Docker ialah projek sumber terbuka awan berdasarkan bahasa Go.
Docker menyelesaikan masalah persekitaran pembangunan yang konsisten, persekitaran ujian dan persekitaran pengeluaran melalui teknologi virtualisasi, membolehkan Apl dan persekitaran berjalannya mencapai tujuan "Bina, Hantar dan Jalankan Mana-mana APP, Di Mana-mana". Teknologi virtualisasi kontena yang memudahkan penyepaduan berterusan dan memudahkan pelepasan dan pengembangan keseluruhan.
Dua teknologi teras Docker: Ruang Nama dan Kumpulan Pengawal.
1. Pengasingan: Ruang Nama Linux (ns)
Ruang nama Linux ialah sejenis pengkapsulan dan pengasingan sumber sistem global. Ini membolehkan proses dalam ruang nama yang berbeza mempunyai sumber sistem global yang bebas Mengubah sumber sistem dalam satu ruang nama hanya akan menjejaskan proses dalam ruang nama semasa dan tidak mempunyai kesan pada proses dalam ruang nama lain. Sumber ini termasuk: pokok proses, antara muka rangkaian, titik lekap, komunikasi antara proses dan sumber lain. Proses dalam ruang nama yang sama boleh melihat perubahan satu sama lain dan tidak mengetahui apa-apa tentang proses luaran. Ini boleh memberikan proses dalam bekas itu ilusi bahawa ia berada dalam sistem bebas, sekali gus mencapai tujuan pengasingan.
Setiap contoh pengguna diasingkan antara satu sama lain dan tidak menjejaskan satu sama lain. Kaedah yang diberikan oleh kaedah virtualisasi perkakasan am ialah VM, manakala kaedah yang diberikan oleh LXC ialah bekas, dan untuk lebih spesifik, ia adalah ruang nama kernel. Antaranya, pid, net, ipc, mnt, uts, pengguna dan ruang nama lain Asingkan proses bekas, rangkaian, mesej, sistem fail, UTS ("Sistem Perkongsian Masa UNIX") dan ruang pengguna.
1), ruang nama pid
Proses pengguna yang berbeza diasingkan oleh ruang nama pid dan ruang nama yang berbeza boleh mempunyai pid yang sama. Proses induk bagi semua proses LXC dalam docker ialah proses docker, dan setiap proses lxc mempunyai ruang nama yang berbeza. Pada masa yang sama, kerana bersarang dibenarkan, Docker dalam Docker boleh dilaksanakan dengan mudah.
2), ruang nama bersih
Dengan ruang nama pid, pid dalam setiap ruang nama boleh diasingkan antara satu sama lain, tetapi port rangkaian masih berkongsi port hos. Pengasingan rangkaian dicapai melalui ruang nama bersih Setiap ruang nama bersih mempunyai peranti rangkaian bebas, alamat IP, jadual penghalaan IP dan direktori /proc/net. Dengan cara ini, rangkaian setiap bekas boleh diasingkan. Secara lalai, docker menggunakan veth untuk menyambungkan kad rangkaian maya dalam bekas ke jambatan docker: docker0 pada hos.
3), interaksi proses dalam ruang nama ipc
bekas masih menggunakan kaedah interaksi antara proses Linux biasa (komunikasi antara proses - IPC), termasuk semaphore biasa dan mesej Baris gilir dan ingatan bersama. Walau bagaimanapun, tidak seperti VM, interaksi antara proses bekas sebenarnya adalah interaksi antara proses dengan ruang nama pid yang sama pada hos, jadi maklumat ruang nama perlu ditambah apabila memohon sumber IPC - setiap sumber IPC mempunyai 32 unik -bit ID.
4), ruang nama mnt
adalah serupa dengan chroot, meletakkan proses dalam direktori khusus untuk pelaksanaan. Ruang nama mnt membenarkan proses dalam ruang nama yang berbeza untuk melihat struktur fail yang berbeza, supaya direktori fail yang dilihat oleh proses dalam setiap ruang nama diasingkan. Berbeza daripada chroot, maklumat dalam /proc/mounts bagi bekas dalam setiap ruang nama hanya mengandungi titik pelekap ruang nama.
5), ruang nama uts
Ruang nama UTS ("Sistem Perkongsian Masa UNIX") membenarkan setiap bekas mempunyai nama hos dan nama domain bebas, menjadikannya lebih dipercayai pada rangkaian boleh dianggap sebagai nod bebas dan bukannya proses pada Hos.
6), ruang nama pengguna
Setiap bekas boleh mempunyai id pengguna dan kumpulan yang berbeza, yang bermaksud anda boleh menggunakan pengguna di dalam bekas untuk melaksanakan program bukan pada Hos.
2. Sekatan sumber: Kumpulan Kawalan (cgroup)
Ruang nama mengasingkan sistem fail, rangkaian dan hos untuk proses yang baru dibuat Proses antara mesin diasingkan antara satu sama lain, tetapi ruang nama tidak dapat memberikan kita pengasingan sumber fizikal. Tetapi jika anda menjalankan berbilang bekas pada mesin yang sama yang tidak tahu apa-apa tentang satu sama lain dan mesin hos, bekas ini bersama-sama menduduki sumber fizikal mesin hos.
Kumpulan Kawalan (pendek kata CGroup) dapat mengasingkan sumber fizikal pada mesin hos, seperti CPU, memori, cakera I/O dan lebar jalur rangkaian. Setiap CGroup ialah sekumpulan proses yang dihadkan oleh piawaian dan parameter yang sama Terdapat hubungan hierarki antara kumpulan CG yang berbeza, yang bermaksud bahawa mereka boleh mewarisi beberapa piawaian dan parameter untuk menyekat penggunaan sumber daripada kelas induk mereka.
cgroup melaksanakan kuota dan pengukuran sumber. Penggunaan cgroups adalah sangat mudah Ia menyediakan antara muka seperti fail Cipta folder baharu dalam direktori /cgroup untuk mencipta fail tugasan baharu dalam folder ini dan tulis pid untuk merealisasikan proses tersebut kawalan sumber. kumpulan boleh mengehadkan sumber sembilan subsistem blkio, cpu, cpuacct, cpuset, peranti, penyejuk beku, memori, net_cls dan ns Berikut ialah penerangan terperinci bagi setiap subsistem:
- blkio tetapan Subsistem ini menyekat kawalan input dan output untuk setiap peranti blok. Contohnya: cakera, CD, USB, dsb.
- cpu Subsistem ini menggunakan penjadual untuk menyediakan akses cpu kepada tugasan cgroup.
- cpuacct menjana laporan sumber cpu untuk tugasan cgroup.
- cpuset Jika ia ialah CPU berbilang teras, subsistem ini akan memperuntukkan CPU dan memori yang berasingan untuk tugasan cgroup.
- peranti Benarkan atau tolak akses kepada peranti melalui tugasan cgroup.
- penyejuk beku menjeda dan menyambung semula tugasan cgroup.
- memori menetapkan had memori untuk setiap cgroup dan menjana laporan sumber memori.
- net_cls menandakan setiap paket rangkaian untuk kemudahan cgroup.
- subsistem ruang nama ns.
tutorial video buruh pelabuhan"
Atas ialah kandungan terperinci Apakah dua teknologi teras docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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)

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.

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

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 memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data
