Perbezaan: 1. Kelajuan penciptaan virtualisasi tradisional adalah sangat perlahan, manakala kelajuan penciptaan virtualisasi kontena sangat pantas 2. Maya tradisional menambah pautan ke rantaian pelarasan sistem dan menyebabkan kehilangan prestasi, manakala virtualisasi kontena; mempunyai teras biasa, hampir tiada kehilangan prestasi 3. Maya tradisional menyokong berbilang sistem pengendalian, manakala virtualisasi kontena hanya menyokong sistem pengendalian yang disokong oleh kernel.
Persekitaran pengendalian tutorial ini: sistem linux7.3, versi docker-1.13.1, komputer Dell G3.
Teknologi virtualisasi tradisional
Virtualisasi merujuk kepada virtualisasi satu komputer kepada berbilang mesin melalui teknologi virtualisasi Komputer logik. Berbilang komputer logik boleh dijalankan serentak pada satu komputer Setiap komputer logik boleh menjalankan sistem pengendalian yang berbeza, dan aplikasi boleh berjalan dalam ruang bebas tanpa menjejaskan satu sama lain, dengan itu meningkatkan kecekapan kerja komputer dengan ketara.
Dengan pembangunan berterusan pengeluar perkakasan, banyak arahan dalam mesin maya tidak perlu melalui lapisan perkakasan maya ke lapisan perkakasan sebenar pengeluar perkakasan menyokong arahan praktikal untuk mengendalikan perkakasan secara langsung dalam mesin maya ini Teknologi ini dipanggil virtualisasi berbantu perkakasan Berbanding dengan lapisan perkakasan virtualisasi perisian, virtualisasi berbantu perkakasan ini tidak perlu mensimulasikan semua perkakasan Beberapa arahan dijalankan secara langsung pada mesin maya untuk mengendalikan perkakasan kecekapan adalah lebih tinggi daripada virtualisasi tradisional.
Maya peringkat sistem
Ciri:
Tidak perlu mensimulasikan lapisan perkakasan.
Berkongsi kernel bagi hos yang sama
Perbezaan antara virtualisasi tradisional dan virtualisasi kontena
Teknologi teras Kontena
1.CGroup mengehadkan penggunaan sumber bekas
2.Mekanisme ruang nama untuk mencapai pengasingan antara bekas
3.chroot, pengasingan sistem fail.
CGroup:
The Kernel Linux menyediakan sekatan, rekod dan pengasingan sumber yang digunakan oleh kumpulan proses Dicadangkan oleh jurutera Google, latar belakang disepadukan ke dalam kernel Kawalan dan rakaman penggunaan sumber yang berbeza dicapai melalui subsistem yang berbeza .
/sys/fs/cgroup
ipc: Semasa komunikasi ipc, maklumat tambahan perlu ditambah untuk mengenal pasti proses mnt: Setiap bekas mempunyai pelekap direktori uniknya sendiri utc: Setiap bekas mempunyai nama hos dan domain Bebas chroot:Direktori dalam hos ialah direktori akar dalam bekas.Semua aplikasi mempunyai kebergantungan sendiri , termasuk sumber perisian dan perkakasan. Docker ialah platform terbuka untuk pembangun yang mengasingkan kebergantungan dengan membungkus setiap aplikasi ke dalam bekas. Bekas adalah seperti mesin maya ringan yang boleh menskalakan kepada beribu-ribu nod, membantu meningkatkan kemudahalihan awan dengan menjalankan aplikasi yang sama dalam persekitaran maya yang berbeza. Mesin maya digunakan secara meluas dalam pengkomputeran awan untuk mencapai pengasingan dan kawalan sumber melalui penggunaan mesin maya. Mesin maya memuatkan sistem pengendalian yang lengkap dengan pengurusan memorinya sendiri, menjadikan aplikasi lebih cekap dan selamat sambil memastikan ketersediaannya yang tinggi.
Apakah perbezaan antara bekas Docker dan mesin maya?
Mesin maya mempunyai sistem pengendalian yang lengkap, dan pengurusan memorinya sendiri disokong melalui peranti maya yang berkaitan. Dalam mesin maya, sumber yang cekap diperuntukkan kepada sistem pengendalian pengguna dan hipervisor, membenarkan berbilang kejadian satu atau lebih sistem pengendalian berjalan selari pada satu komputer (atau hos). Setiap sistem pengendalian tetamu berjalan sebagai satu entiti dalam sistem hos. Bekas Docker, sebaliknya, dilaksanakan menggunakan enjin Docker dan bukannya hypervisor. Oleh itu, bekas adalah lebih kecil daripada mesin maya dan boleh bermula lebih cepat kerana perkongsian inti hos, dengan prestasi yang lebih baik, kurang pengasingan dan keserasian yang lebih baik. Bekas Docker dapat berkongsi kernel dan berkongsi perpustakaan aplikasi, jadi bekas mempunyai overhed sistem yang lebih rendah daripada mesin maya Selagi pengguna bersedia menggunakan satu platform untuk menyediakan sistem pengendalian yang dikongsi, bekas boleh menjadi lebih pantas dan menggunakan sumber yang lebih sedikit. Mesin maya boleh mengambil masa beberapa minit untuk mencipta dan bermula, manakala bekas boleh mengambil hanya beberapa saat untuk mencipta dan bermula. Aplikasi yang terkandung dalam bekas memberikan prestasi unggul berbanding dengan menjalankan aplikasi dalam mesin maya. Penunjuk utama bahawa bekas Docker lebih lemah daripada mesin maya ialah "pengasingan". Teknologi VT-d dan VT-x Intel menyediakan teknologi pengasingan perkakasan cincin-1 untuk mesin maya, jadi mesin maya boleh memanfaatkannya sepenuhnya. Ia membantu mesin maya menggunakan sumber dengan cekap dan mencegah gangguan antara satu sama lain. Bekas Docker juga tidak mempunyai sebarang bentuk pengasingan perkakasan, menjadikannya terdedah kepada serangan.Bagaimana untuk memilih?
Pilihan antara bekas atau mesin maya bergantung pada cara aplikasi direka bentuk. Jika aplikasi direka bentuk untuk menyediakan kebolehskalaan dan ketersediaan tinggi, maka bekas adalah pilihan terbaik, jika tidak, aplikasi boleh diletakkan dalam mesin maya. Untuk perniagaan yang mempunyai keperluan I/O yang tinggi, seperti perkhidmatan pangkalan data, adalah disyorkan untuk menggunakan mesin fizikal Docker, kerana apabila Docker digunakan dalam mesin maya, prestasi I/O akan dihadkan oleh mesin maya. Untuk perniagaan seperti perkhidmatan desktop maya yang menekankan kebenaran dan keselamatan penyewa, adalah disyorkan untuk menggunakan mesin maya Ciri pengasingan kuat berbilang penyewa bagi mesin maya memastikan bahawa walaupun penyewa mempunyai kebenaran root pada mesin maya, penyewa dan hos lain adalah selamat. .
Atau pilihan yang lebih baik ialah penyelesaian hibrid, dengan bekas dijalankan dalam mesin maya. Bekas Docker boleh dijalankan di dalam mesin maya dan menyediakannya dengan pengasingan yang terbukti, sifat keselamatan, mobiliti, rangkaian maya dinamik dan banyak lagi. Untuk mencapai pengasingan yang selamat dan penggunaan sumber yang tinggi, pada asasnya kita harus mengikut idea menggunakan pengasingan mesin maya untuk operasi perniagaan penyewa yang berbeza, dan menggunakan jenis perniagaan yang serupa pada set bekas yang sama.
Kesimpulan
Bekas docker menjadi alat penting dalam persekitaran DevOps. Terdapat banyak kes penggunaan untuk Docker Containers dalam dunia DevOps. Menjalankan aplikasi pada bekas Docker dan mengerahkannya di mana-mana sahaja (Cloud atau di premis atau mana-mana perisa Linux) kini menjadi kenyataan.
Bekerja dalam persekitaran heterogen, mesin maya memberikan tahap fleksibiliti yang tinggi, manakala bekas Docker memfokuskan terutamanya pada aplikasi dan kebergantungan mereka. Bekas Docker membenarkan pemindahan tindanan aplikasi dengan mudah merentas awan dengan menggunakan setiap persekitaran mesin maya awan untuk mengendalikan awan. Ini mewakili ciri berguna yang, tanpa Bekas Docker, perlu dilaksanakan dengan cara yang lebih kompleks dan membosankan. Apa yang dijelaskan di sini bukanlah tentang melepaskan mesin maya, tetapi apabila perlu, sebagai tambahan kepada mesin maya, menggunakan bekas Docker mengikut situasi sebenar Tidak dipercayai bahawa bekas Docker boleh menghapuskan mesin maya sepenuhnya.
Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"
Atas ialah kandungan terperinci Apakah perbezaan antara bekas docker dan virtualisasi tradisional?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!