GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Apa itu Docker (dan wadah Linux?)

Beberapa waktu lalu, menjelang rilis kernel Linux versi 3, konsep namespace dan containerization diperkenalkan melalui modul yang disebut lxc (Linux containers).

Gagasan di balik wadah mirip dengan gagasan mesin virtual. Misalnya, dengan virtualisasi, Anda memiliki server ('host' ) yang menjalankan sesuatu seperti KVM atau VMware. Mesin yang berjalan di bawahnya disebut tamu. Mereka adalah komputer mandiri, berjalan di atas host.

Wadah membawa konsep ini ke tingkat berikutnya. Wadah membantu pengembang khususnya (tetapi juga administrator sistem) menyebarkan aplikasi atau layanan dengan cepat. Kontainer adalah mesin Linux yang sangat kecil yang berjalan sebagai proses Linux normal (di ruang pengguna ). Rata-rata server Linux berukuran gigabyte, dan memiliki kernel yang penuh dengan driver praktis untuk semua jenis perangkat keras dan sebagainya. Sebuah wadah, sebaliknya hanya berukuran beberapa ratus megabita. VM akan melakukan booting dalam beberapa menit, container akan dimulai, termasuk aplikasi yang dimaksudkan, dalam beberapa detik atau kurang. Ini berjalan seperti yang Anda harapkan untuk dijalankan oleh aplikasi Linux biasa – sebagai proses yang dapat Anda lihat menggunakan perintah ps.

Diagram di bawah dari orang-orang di CoreOS menunjukkan hubungan antara container dan Sistem Operasi dengan baik. Di bagian atas, Anda dapat melihat server Linux normal, menjalankan semua layanan biasa yang mungkin Anda bayangkan, seperti Java, server web nginx, dll,  kemungkinan juga akan ada beberapa aplikasi lain yang juga berjalan.

Pada Gambar 2, Anda dapat melihat contoh Sistem Operasi yang diarahkan untuk containerisasi. Ini hanya terbatas, aplikasi minimal, seperti server ssh berjalan. Semua aplikasi lain sekarang berjalan dalam wadah yang benar-benar terisolasi.

Makhluk Abadi

Wadah idealnya dibuat untuk tujuan tunggal:bayangkan Anda memiliki aplikasi yang menggunakan JBoss dan PostgreSQL. Anda mungkin memiliki wadah untuk komponen JBoss dan PostgreSQL. Kedua wadah tersebut terisolasi satu sama lain, tetapi dimungkinkan untuk dihubungkan, sehingga mereka dapat berbicara satu sama lain. Wadah juga dirancang untuk bersifat sementara:setelah tujuannya tercapai, Anda meledakkannya, Anda selalu dapat memutar wadah lain dalam hitungan detik. Ini juga berarti bahwa data yang disimpan di dalam penampung  tidak gigih. Jika Anda ingin data, seperti database atau situs web tetap ada, Anda dapat memasukkannya ke dalam volume penyimpanan yang diekspor di server host. Dalam praktik terbaik keamanan, Anda akan memperbarui gambar dasar Anda dengan patch baru atau prosedur pengerasan keamanan, dan kemudian meluncurkan aplikasi Anda. Setelah ini, Anda akan menghancurkan wadah Anda dari minggu lalu, dan menggunakan wadah baru yang lebih aman pada minggu berikutnya.

Wadah sangat cocok dengan seluruh SaaS (perangkat lunak sebagai model layanan), dan juga memungkinkan pengembang dan staf operasi untuk bekerja sama dengan cara yang lebih ramah (baca cara DevOps). Tapi jangan terlalu terburu-buru di sini, perkakas tidak akan memperbaiki masalah budaya, itu adalah 'topik lain untuk situs web lain!

Pekerja Buruh

Docker telah ada untuk sementara waktu sekarang. Docker membawa ke Linux apa yang tidak dapat dilakukan lxc:kemudahan penggunaan. Setelah pengembang mengetahui betapa memberdayakannya hanya dengan memutar wadah buruh pelabuhan di laptop mereka dan dijamin itu akan beroperasi dengan cara yang persis sama di server di tempat lain, dengan sangat mudah, itu dengan cepat menjadi mudah.

Docker memiliki kritik, beberapa (seperti tim coreOS) percaya bahwa Docker tidak cukup aman, dan mereka menjadi terlalu komersial (itulah sebabnya mereka menjadikan rkt sebagai pesaing Docker), tetapi suka atau tidak suka, Docker memiliki banyak pengikut, dan tidak hanya di perusahaan yang Anda harapkan, seperti Amazon dan Google.

Bacaan Lainnya

Anda dapat membaca lebih lanjut tentang containerisasi, di situs web berikut:

LinuxContainers.org

Docker:Apa itu Docker?

Amazon AWS:Apa itu Wadah?

Rkt (diucapkan Rocket), dari CoreOS


Docker
  1. Apa Perbedaan Antara Kontainer LXC, LXD, dan Docker?

  2. Apa perbedaan antara wadah Linux dan gambar?

  3. Cara Membuat, Mendaftar &Menghapus Wadah Docker di Linux

  1. Demystifying namespace dan container di Linux

  2. Cara mencadangkan dan memulihkan wadah Docker

  3. Cara Menjeda dan Melanjutkan Wadah Docker

  1. Apa Itu Podman Dan Bagaimana Cara Menginstal Podman Di Linux

  2. Cara Mengekspor dan Mengimpor Kontainer Docker

  3. Apa itu Podman dan Apa Bedanya dengan Docker?