Perbezaan: 1. Bekas Docker menyediakan pengasingan berasaskan proses, manakala mesin maya VM menyediakan pengasingan lengkap sumber 2. Docker menggunakan kernel sistem pengendalian hos, manakala mesin maya VM menggunakan kernel bebas; , kelajuan permulaan Docker berada pada tahap kedua, dan VM berada pada tahap minit 4. Penyepaduan Docker adalah lebih baik daripada VM.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, docker-1.13.1&&VMware Workstation versi 16.0.0.16894299, komputer Dell G3.
Perbezaan penting:
VM (VMware) mencipta lapisan maya, sistem pengendalian maya dan gudang maya berdasarkan mesin hos dan sistem pengendalian mesin hos, dan kemudian memasang aplikasi itu;
2 Perbezaan dalam penggunaan:
Saiz:
1 :
2, memori yang diduduki oleh fail cermin ubuntu dalam bekas docker:
🎜>
Docker mencipta enjin Docker pada sistem pengendalian mesin hos dan secara langsung memanggil sumber perkakasan pada sistem pengendalian mesin hos dan bukannya memayakan sistem pengendalian dan sumber perkakasan, supaya operasinya pantas.
Ini sebenarnya memasang mesin maya ubuntu dan menarik fail imej ubuntu Docker Anda akan tahu selepas menjalankannya Kelajuan permulaan Docker adalah pada tahap kedua tahap minit: maya Ia mengambil masa lebih daripada 2 minit untuk memulakan komputer, tetapi Docker hanya mengambil masa 2 saat.
Integrasi:
Docker mempunyai integrasi yang lebih baik daripada VM.
Ciri Docker
1)
Bermula dengan pantasPengguna boleh "Melabuhkan" program mereka dalam beberapa minit sahaja. Docker bergantung pada model "copy-on-write", yang menjadikannya sangat pantas untuk mengubah suai aplikasi Ia boleh dikatakan bahawa ia mencapai alam "kod diubah mengikut kehendak anda". Anda kemudian boleh mencipta bekas untuk menjalankan aplikasi anda. Kebanyakan bekas Docker bermula dalam masa kurang daripada 1 saat. Memandangkan overhed hypervisor dialih keluar, bekas Docker mempunyai prestasi tinggi Pada masa yang sama, lebih banyak bekas boleh dijalankan pada hos yang sama, membolehkan pengguna menggunakan sepenuhnya sumber sistem sebanyak mungkin.
2)
Pengkelasan logik tanggungjawabMenggunakan Docker, pembangun hanya perlu mengambil berat tentang aplikasi yang berjalan di dalam bekas, manakala kakitangan operasi dan penyelenggaraan hanya perlu mengambil berat tentang bagaimana untuk menguruskan bekas. Tujuan reka bentuk Docker adalah untuk meningkatkan ketekalan antara persekitaran pembangunan tempat pembangun menulis kod dan persekitaran pengeluaran tempat aplikasi digunakan. Dengan itu mengurangkan jenis "semuanya normal semasa pembangunan, ia mestilah masalah operasi dan penyelenggaraan (persekitaran ujian adalah normal, jika ada masalah selepas pergi dalam talian, ia mesti masalah operasi dan penyelenggaraan)"3)
Kitaran hayat pembangunan yang pantas dan cekapSalah satu matlamat Docker ialah memendekkan kitaran kod daripada pembangunan, ujian kepada penggunaan dan operasi dalam talian, menjadikan aplikasi anda mudah alih, mudah untuk dibina, dan Mudah untuk bekerjasama. (Dalam istilah orang awam, Docker adalah seperti kotak yang boleh mengandungi banyak objek. Jika anda memerlukan objek ini, anda boleh mengambilnya terus dari kotak besar tanpa mengambilnya satu persatu dari kotak.) 4)
Galakkan penggunaan seni bina berorientasikan perkhidmatanDocker juga menggalakkan seni bina berorientasikan perkhidmatan dan seni bina perkhidmatan mikro. Docker mengesyorkan bahawa satu bekas hanya menjalankan satu aplikasi atau proses, dengan itu membentuk model aplikasi yang diedarkan Di bawah model ini, aplikasi atau perkhidmatan boleh diwakili sebagai satu siri kontena yang saling bersambung secara dalaman, dengan itu mendayakan penggunaan aplikasi, sambungan atau penyahpepijatan permohonan menjadi sangat mudah, di samping menambah baik introspeksi program. (Sudah tentu, anda boleh menjalankan berbilang aplikasi dalam satu bekas)Pembelajaran yang disyorkan: "
tutorial video docker"
Atas ialah kandungan terperinci Apakah perbezaan antara mesin maya vm dan docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!