Perbezaan: 1. Dari segi kelajuan permulaan, Docker berada pada tahap kedua, manakala kvm berada pada tahap minit 2. Berbanding dengan kvm, aplikasi Docker mempunyai prestasi tinggi dan overhed sistem yang rendah; dari segi status simpanan , Docker lebih ringan dan kos rendah daripada kvm 4. Dari segi penggunaan cakera keras, Docker diukur dalam MB dan kvm diukur dalam GB.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, versi docker-1.13.1, komputer Dell G3.
Matlamat projek Docker adalah untuk melaksanakan penyelesaian virtualisasi sistem pengendalian yang ringan. Docker adalah berdasarkan teknologi seperti Kontena Linux (LXC).
Berdasarkan LXC, Docker telah merangkumnya lagi, supaya pengguna tidak perlu mengambil berat tentang pengurusan kontena, menjadikan operasi lebih mudah. Pengguna yang mengendalikan bekas Docker semudah mengendalikan mesin maya yang pantas dan ringan.
Gambar berikut membandingkan perbezaan antara Docker dan kaedah virtualisasi tradisional Dapat dilihat bahawa kontena melaksanakan virtualisasi pada peringkat sistem pengendalian dan secara langsung menggunakan semula sistem pengendalian hos tempatan, manakala kaedah tradisional melaksanakan virtualisasi pada perkakasan. pelaksanaan peringkat.
Sebagai kaedah virtualisasi yang baru muncul, Docker mempunyai banyak kelebihan berbanding kaedah virtualisasi tradisional.
1. Bekas Docker boleh dimulakan dalam beberapa saat, yang jauh lebih pantas daripada kaedah mesin maya tradisional. Kedua, Docker mempunyai kadar penggunaan sumber sistem yang tinggi Beribu-ribu bekas Docker boleh dijalankan serentak pada satu hos.
2. Selain menjalankan aplikasi di dalamnya, kontena pada dasarnya tidak menggunakan sumber sistem tambahan, menjadikan prestasi aplikasi sangat tinggi dan overhed sistem sekecil mungkin. Kaedah mesin maya tradisional memerlukan 10 mesin maya untuk menjalankan 10 aplikasi berbeza, manakala Docker hanya perlu memulakan 10 aplikasi terpencil.
3. Teknologi virtualisasi bergantung pada CPU fizikal dan memori dan berada pada tahap perkakasan manakala docker dibina pada sistem pengendalian dan menggunakan teknologi kontena sistem pengendalian, jadi docker juga boleh dijalankan pada mesin maya; .
4. Sistem maya secara amnya merujuk kepada imej sistem pengendalian, yang agak kompleks dan dipanggil "sistem" manakala docker adalah sumber terbuka dan ringan dan dipanggil "bekas". sebilangan kecil aplikasi, seperti A redis, memcached.
5. Teknologi virtualisasi tradisional menggunakan syot kilat untuk menyelamatkan keadaan bukan sahaja lebih ringan dan kos rendah dalam keadaan simpanan, tetapi juga memperkenalkan mekanisme pengurusan kod sumber yang serupa untuk menyimpan syot kilat versi bekas satu. oleh satu rekod, kos penukaran adalah rendah.
6. Teknologi virtualisasi tradisional adalah lebih kompleks apabila membina sistem dan memerlukan banyak tenaga kerja manakala pekerja pelabuhan boleh membina keseluruhan kontena melalui Dockfile, dan memulakan semula dan membina dengan cepat. Lebih penting lagi, Dockfile boleh ditulis secara manual, supaya pembangun aplikasi boleh membimbing persekitaran sistem dan kebergantungan dengan menerbitkan Dockfile, yang sangat bermanfaat untuk penghantaran berterusan.
7 Semestinya KVM juga mempunyai kelebihan yang besar berbanding bekas iaitu ia boleh menggunakan sistem operasi atau kernel yang berbeza. Jadi, sebagai contoh, anda boleh menggunakan Microsoft Azure dan menjalankan contoh Windows Server 2012 dan contoh SUSE Linux Enterprise Server secara serentak. Bagi Docker, semua bekas mesti menggunakan sistem pengendalian dan kernel yang sama.
Ciri |
Bekas docker |
Mesin maya KVM |
Mula |
saat Tahap |
Tahap minit |
Penggunaan cakera keras |
Secara amnya MB |
Secara amnya GB |
Prestasi |
Dekat dengan asli |
Lebih lemah daripada |
Sokongan sistem |
Mesin tunggal menyokong beribu-ribu bekas |
Secara amnya berdozen |
Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"
Atas ialah kandungan terperinci Apakah perbezaan antara kvm dan docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!