Docker boleh dijalankan sama ada pada mesin fizikal atau mesin maya sama ada mesin maya atau mesin fizikal, ia adalah kaedah penghantaran perkakasan dan infrastruktur, yang pada asasnya adalah tahap dan bekas; digunakan terutamanya untuk menyelesaikan satu siri masalah yang berteraskan perisian Ia boleh dilaksanakan untuk menjalankan bekas pada kedua-dua mesin maya dan mesin fizikal.
Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.
Bekas docker boleh berjalan pada mesin maya atau mesin fizikal
Sama ada ialah mesin maya atau mesin fizikal Mesin kedua-duanya merupakan kaedah penghantaran perkakasan/infrastruktur dan pada asasnya berada pada tahap yang sama terutamanya menyelesaikan satu siri masalah yang berteraskan perisian
Tegasnya, bekas dan mesin maya adalah; tidak sama Perkara hierarki ialah koleksi pakej persekitaran perisian.
Menjalankan bekas dalam mesin maya telah menjadi amalan praktikal Contohnya, perkhidmatan kontena AWS hanya berjalan dalam mesin maya.
Daemon Docker boleh berkomunikasi terus dengan sistem pengendalian utama untuk memperuntukkan sumber kepada setiap bekas Docker; ia juga boleh mengasingkan bekas daripada sistem pengendalian utama dan mengasingkan setiap bekas daripada satu sama lain. Docker sering digunakan untuk mengasingkan aplikasi yang berbeza, seperti front-end, back-end, dan pangkalan data.
Pengetahuan lanjutan:
Daemon Docker boleh berkomunikasi terus dengan sistem pengendalian utama untuk memperuntukkan sumber kepada setiap bekas Docker juga boleh mengasingkan bekas daripada operasi utama sistem , dan asingkan setiap bekas antara satu sama lain. Docker sering digunakan untuk mengasingkan aplikasi yang berbeza, seperti front-end, back-end, dan pangkalan data.
Docker mempunyai ciri-ciri kekompakan, penghijrahan dan penggunaan pantas serta operasi yang cekap, tetapi pengasingannya lebih teruk daripada virtualisasi pelayan: bekas yang berbeza tergolong dalam bil laluan yang berbeza (contoh aplikasi yang berbeza dijalankan pada Docker) dan tidak bergantung pada setiap lain (pengasingan). Tetapi ia diuruskan oleh pengurus gudang yang sama (inti sistem pengendalian hos), jadi pengurus gudang boleh melihat maklumat yang berkaitan bagi semua kontena (kerana kernel sistem pengendalian dikongsi, maklumat yang berkaitan akan dikongsi).
Mesin maya lebih baik untuk mengasingkan keseluruhan persekitaran operasi. Sebagai contoh, pembekal perkhidmatan awan biasanya menggunakan teknologi mesin maya untuk mengasingkan pengguna yang berbeza. Mesin maya mengambil masa beberapa minit untuk dimulakan, manakala bekas Docker boleh bermula dalam milisaat. Tanpa sistem pengendalian kembung, Docker boleh menjimatkan banyak ruang cakera dan sumber sistem lain.
Pemayaan pelayan adalah seperti mewujudkan berbilang "dok kecil" bebas - gudang (mesin maya) pada dok (hos fizikal dan lapisan virtualisasi). Ia mempunyai ruang bebas sepenuhnya (terpencil) dan dimiliki oleh pelanggan yang berbeza (pemilik mesin maya). Setiap gudang mempunyai pengurus gudang sendiri (irung sistem pengendalian mesin maya semasa) dan tidak boleh menguruskan gudang lain. Tiada perkongsian maklumat.
Oleh itu, kita perlu menggunakan kaedah yang berbeza mengikut senario dan keperluan aplikasi yang berbeza, menggunakan teknologi Docker atau menggunakan teknologi virtualisasi pelayan.
Perbandingan prinsip pelaksanaan mesin dok dan mesin maya
Angka berikut menunjukkan rangka kerja pelaksanaan mesin maya dan mesin dok masing-masing.
Membandingkan perbezaan antara dua gambar, lapisan Guest OS dan lapisan Hypervisor mesin maya dalam gambar kiri digantikan dengan lapisan Docker Engine dalam docker. OS Tetamu mesin maya ialah sistem pengendalian yang dipasang pada mesin maya, yang merupakan kernel sistem pengendalian yang lengkap, lapisan Hypervisor mesin maya boleh difahami secara ringkas sebagai platform virtualisasi perkakasan, yang wujud sebagai pemacu keadaan kernel; dalam OS Hos.
Kaedah untuk mesin maya mencapai pengasingan sumber adalah dengan menggunakan OS bebas dan menggunakan Hypervisor untuk memaya CPU, memori, peranti IO, dsb. Sebagai contoh, untuk CPU maya, hypervisor akan mencipta struktur data untuk setiap CPU maya, mensimulasikan nilai semua daftar CPU, dan menjejaki dan mengubah suai nilai ini apabila sesuai. Perlu diingatkan bahawa dalam kebanyakan kes, kod perisian mesin maya berjalan terus pada perkakasan tanpa campur tangan hypervisor. Hanya di bawah beberapa permintaan keistimewaan tinggi, OS Tetamu perlu menjalankan mod kernel untuk mengubah suai data daftar CPU, dan hipervisor akan campur tangan untuk mengubah suai dan mengekalkan keadaan CPU maya.
Cara Hypervisor memayakan memori adalah dengan mencipta jadual halaman bayangan. Dalam keadaan biasa, jadual halaman boleh digunakan untuk menterjemah daripada ingatan maya kepada ingatan fizikal. Dalam kes virtualisasi, kerana apa yang dipanggil memori fizikal masih maya, jadual halaman bayangan mesti melakukan: ingatan maya -> ingatan fizikal maya -> ingatan fizikal sebenar.
Untuk virtualisasi peranti IO, apabila Hypervisor menerima kerosakan halaman dan mendapati bahawa alamat memori fizikal maya sebenarnya sepadan dengan peranti I/O, Hypervisor menggunakan perisian untuk mensimulasikan keadaan kerja peranti ini dan mengembalikan . Sebagai contoh, apabila CPU ingin menulis pada cakera, hipervisor menulis data yang sepadan kepada fail OS hos Fail ini sebenarnya mensimulasikan cakera maya.
Berbanding dengan penyelesaian mesin maya untuk mencapai pengasingan sumber dan persekitaran, docker adalah lebih mudah. Enjin Docker hanya boleh dilihat sebagai enkapsulasi NameSpace Linux, Cgroup, dan operasi sistem fail pengurusan imej. Docker tidak menggunakan OS Tetamu bebas sepenuhnya untuk mencapai pengasingan persekitaran seperti mesin maya Ia menggunakan kaedah bekas yang kini disokong oleh kernel Linux itu sendiri untuk mencapai pengasingan sumber dan persekitaran. Secara ringkasnya, docker menggunakan ruang nama untuk mengasingkan persekitaran sistem menggunakan Cgroup untuk melaksanakan sekatan sumber dan menggunakan pencerminan untuk mengasingkan persekitaran direktori akar;
Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"
Atas ialah kandungan terperinci Adakah buruh pelabuhan berjalan pada mesin fizikal atau mesin maya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!