Wangi

Docker Vs Vagrant

Docker Vs Vagrant

Pasukan pengembangan dan operasi telah berurusan dengan kerumitan persekitaran perisian sejak awal. Ini adalah masalah biasa di mana kod kerja dalam satu persekitaran tidak berfungsi di persekitaran yang lain.

Kedua-dua pekerja pelabuhan dan gelandangan membantu mewujudkan persekitaran pembangunan yang dapat diramalkan dan berulang. Walau bagaimanapun, docker menggunakan teknologi kontena sementara vagrant menggunakan mesin maya untuk mencapai tujuan ini. Memahami kekuatan dan kelemahan Docker dan Vagrant akan membantu pembangun mencampur dan memadankan alat ini untuk mencapai hasil yang diinginkan.

Mari kita mulakan dengan teknologi yang mendasari terlebih dahulu.

Mesin maya

Mesin maya (VM) meniru komputer fizikal. Ia dilengkapi dengan sistem operasi dan peruntukan sumber yang lengkap. Mesin induk menyediakan sumber fizikal yang diperlukan tetapi persekitaran maya berfungsi sebagai mesin bebas dengan BIOS, CPU, penyimpanan, dan penyesuai rangkaian sendiri.

Walaupun VMware hari ini paling terkenal dengan teknologi VM moden, idea mesin maya telah lama wujud.

Pada tahun 1965, Pusat Penyelidikan IBM Yorktown memerlukan kaedah untuk mengukur keberkesanan idea sains komputer yang berbeza. Pasukan penyelidik ingin beralih antara ciri dan mengukur hasilnya. Pasukan ini merancang skema untuk membahagi satu mesin menjadi partisi yang lebih kecil. Partisi yang lebih kecil akan menguruskan sumber mereka sendiri. Mereka akan menjadi mesin maya kecil.

Idea VM berjaya. IBM mula membuat Sistem Operasi berdasarkan mesin maya. Sistem IBM 370 (S / 370) dan Sistem IBM 390 (S / 390), kedua-dua sistem berasaskan IBM VM / ESA, menjadi popular di kalangan perniagaan dan universiti kerana mereka membenarkan institusi tersebut membiarkan pengguna mereka berkongsi sumber pengkomputeran tanpa mempengaruhi persekitaran antara satu sama lain. Idea ini juga membantu mewujudkan sistem operasi Unix dan bahasa pengaturcaraan Java.

Mesin maya moden dijalankan di hypervisor. Hypervisors adalah perisian, firmware atau perkakasan yang bertanggungjawab untuk pembuatan dan pelaksanaan VM. Terdapat banyak hypervisor yang terdapat di pasaran. KVM, Red Hat Enterprise Virtualization (RHEV), XenServer, Microsoft Hyper-V dan VMware vSphere / ESXi adalah pemain terkemuka.

Hari ini mesin maya telah mendorong pertumbuhan pengkomputeran awan. Amazon AWS, Microsoft Azure, Google Cloud, Digital Ocean dan syarikat awan lain sangat bergantung pada teknologi virtualisasi.

Bekas

Kontena membuat virtualisasi di peringkat sistem operasi. Mereka berfungsi sebagai pakej perisian yang dapat dilaksanakan yang mengasingkan aplikasi dari lingkungan sekitarnya. Di dalam bungkusan, sebuah wadah mempunyai sifat yang diperlukan seperti kod, runtime, perpustakaan sistem dan alat untuk memastikan aplikasi terpisah dari pengaruh luar. Ia berjalan pada sistem operasi mesin hos. Kontena berkongsi perpustakaan dan binari apabila mungkin dan hanya memisahkan sumber daya yang benar-benar diperlukan.

Pada tahun 1979, panggilan sistem "chroot" dapat mengasingkan proses untuk Unix. Itu adalah idea pertama wadah. Teknologi kontena awal dimulakan dengan FreeBSD Jails pada tahun 2000. Setahun kemudian, Linux VServer membenarkan beberapa mesin Linux berjalan pada satu hos. Pada tahun 2004, Oracle Solaris Zones menyediakan fungsi yang serupa dengan FreeBSD Jails. Pada tahun 2006-2007, Google mengembangkan Process Container dan kemudian menggabungkannya ke Linux Kernel. Linux Containers (LXC) dibuat pada tahun 2008 untuk memanfaatkan kumpulan dan ruang nama Linux. Pada tahun 2013, Docker diciptakan dengan menggabungkan idea LXC. Ia juga menambah alat untuk membina dan mengambil gambar bekas dengan mudah.

Docker

Docker adalah teknologi kontena sumber terbuka berdasarkan LXC. Ia popular kerana menjadikannya lebih mudah untuk membuat, menjalankan dan menyebarkan aplikasi dalam lingkungan yang serba lengkap. Docker tidak membuat keseluruhan sistem operasi seperti mesin maya. Sebaliknya, ia menggunakan kernel sistem operasi host dan membuat virtualisasi hanya untuk aplikasi dan perpustakaan yang diperlukan. Pendekatan ini menjadikannya jauh lebih ringan daripada mesin maya.

Docker Container dibuat dari Docker Images. Docker Images boleh dianggap sebagai gambar mesin. Pengguna boleh memulakan bekas dari gambar dengan mudah. Gambar dibuat sebagai lapisan. Andaikan pasukan pembangunan memerlukan wadah dengan Apache dan Python dipasang pada versi Linux tertentu. Pembangun boleh memuat turun Imej Linux dari Docker Hub, memulakan wadah, memasang Apache dan Python, membuat imej baru dari bekas dan berkongsi gambar itu. Anggota pasukan lain tidak perlu melalui pemasangan yang sama. Ia membantu mengekalkan persekitaran yang konsisten untuk semua.

Docker juga menyokong aplikasi skrip dan multi-container. Pengguna boleh menggunakan Dockerfile berdasarkan teks untuk menentukan keperluan dan kemudian membina bekas melalui Docker Compose. Contoh di atas untuk membuat pelayan Apache / Python / Linux juga dapat dicapai melalui proses ini. Dengan Docker Compose, pasukan hanya perlu berkongsi Dockerfile untuk mewujudkan persekitaran yang sama.

Docker mempunyai alat yang lebih khusus untuk tugas yang kompleks. Docker Swarm membantu mengatur penggunaan kapal layar berskala besar.

Wangi

Vagrant adalah alat sumber terbuka yang membantu membuat dan menyelenggara mesin maya. Ia berfungsi dengan VirtualBox, VMWare, AWS dan penyedia lain.

Vagrant mempermudahkan pengurusan VM. Dengan menggunakan Vagrantfile, pembangun dapat menentukan sifat mesin maya seperti sistem operasi, pemasangan perisian, dan lain-lain. Vagrantfile berdasarkan teks dapat dibagikan melalui kawalan versi dan mesin yang diperlukan dapat dimulakan dengan menggunakan perintah sederhana seperti "vagrant up". Pengguna kemudian boleh log masuk ke mesin seperti pelayan fizikal.

Bilakah Menggunakan Docker atau Vagrant

Penggunaan Docker atau Vagrant sering kali memerlukan keperluan untuk kontena atau mesin maya. Berikut adalah beberapa persamaan dan perbezaan antara Docker dan Vagrant dari segi penggunaan:

Persamaan

Kedua-dua Docker dan Vagrant mempunyai persekitaran yang mudah dikonfigurasi yang dapat dikendalikan melalui skrip. Mereka juga mesra awan.

Perbezaan

Mesin maya Vagrant menyediakan pemisahan keselamatan berasaskan Kernel. Pemisahan itu menjadikan mesin maya kurang berisiko daripada bekas. Tetapi bekas Docker sangat ringan. Mereka menggunakan sumber yang lebih sedikit dan cepat dalam pelaksanaan. Oleh itu, anda boleh mempunyai lebih banyak bekas pada satu hos daripada mesin maya. Juga, memulakan dan menghentikan bekas hampir seketika berbanding VM. VM melalui kitaran boot BIOS dan Sistem Operasi sepenuhnya.

Pemisahan keselamatan mesin maya menjadikan kegagalan VM lebih mandiri. Sebaliknya, kontena berkongsi sumber dan boleh membawa kesan kemalangan. Juga, ancaman keselamatan kontena dapat mencapai kernel sistem operasi host.

Namun, kelajuan pelaksanaan dan jejak bekas yang ringan menjadikan Docker sangat menarik untuk dikembangkan. Dengan seni bina perkhidmatan mikro, kontena dapat berfungsi dengan baik kerana faktor risiko dikurangkan melalui penggunaan perkhidmatan mikro. Juga, kemajuan dibuat untuk menjadikan Docker lebih selamat setiap hari.

Kesimpulannya

Docker dan Vagrant adalah kedua-dua teknologi yang berguna yang dapat membantu pembangun meningkatkan produktiviti mereka. Sekiranya keselamatan aplikasi menjadi perhatian, maka penggunaan Vagrant dan VM mungkin merupakan idea yang baik. Untuk pengembangan dan perkongsian yang pantas, Docker memberikan kelebihan. Sebilangan besar pasukan menggunakan kedua-duanya untuk menjalankan operasi yang lancar.

Rujukan:

Butang tetikus tengah tidak berfungsi pada Windows 10
The butang tetikus tengah membantu anda menelusuri halaman web dan skrin yang panjang dengan banyak data. Sekiranya ia berhenti, anda akan menggunakan...
Cara menukar butang tetikus Kiri & Kanan pada PC Windows 10
Sudah menjadi kebiasaan bahawa semua peranti tetikus komputer dirancang secara ergonomik untuk pengguna tangan kanan. Tetapi ada peranti tetikus yang ...
Tiru klik Tetikus dengan melayang menggunakan Mouse Tanpa Klik di Windows 10
Menggunakan tetikus atau papan kekunci dalam keadaan salah penggunaan berlebihan boleh menyebabkan banyak masalah kesihatan, termasuk ketegangan, sind...