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

Apa itu Docker Container:Panduan Pengantar untuk Pemula

Ingin tahu apa itu wadah Docker? Temukan semua yang perlu Anda ketahui dalam artikel ini dengan bahasa yang mudah dipahami.

Popularitas Docker bukan tanpa alasan. Ini telah banyak mengubah cara pengembang mendekati pengembangan aplikasi.

Ini telah menjadi standar dalam industri TI untuk mengemas, menyebarkan, dan menjalankan aplikasi terdistribusi dengan mudah.

Manfaat utama Docker adalah memungkinkan pengguna untuk mengemas aplikasi dengan semua dependensinya ke dalam unit standar yang disebut container.

Karena Docker adalah platform containerization, Anda harus memahami sejarah di balik containerization.

Sejarah Sebelum Containerisasi

Sebelum containerization muncul, cara terbaik untuk mengisolasi dan mengatur aplikasi dan dependensinya adalah dengan menempatkan setiap aplikasi di mesin virtualnya.

Mesin ini menjalankan beberapa aplikasi pada perangkat keras fisik yang sama, dan proses ini tidak lain adalah virtualisasi .

Tetapi virtualisasi memiliki beberapa kelemahan, seperti ukuran mesin virtual yang besar. Selain itu, menjalankan beberapa mesin virtual menyebabkan kinerja yang tidak stabil.

Proses booting biasanya memakan waktu lama, dan VM tidak akan menyelesaikan masalah seperti portabilitas, pembaruan perangkat lunak, atau integrasi berkelanjutan dan pengiriman berkelanjutan.

Kelemahan ini menyebabkan munculnya teknik baru yang disebut containerization .

Containerization adalah jenis virtualisasi yang membawa virtualisasi ke tingkat sistem operasi.

Sementara virtualisasi membawa abstraksi ke perangkat keras, penampung membawa abstraksi ke sistem operasi.

Kontainer vs. Mesin Virtual

Istilah "Wadah" dan "Mesin Virtual" sering digunakan secara bergantian; namun, ini sering disalahpahami.

Namun, keduanya hanyalah metode yang berbeda untuk menyediakan Virtualisasi Sistem Operasi.

Mesin Virtual

Mesin virtual umumnya mencakup seluruh sistem operasi, paket, dan, jika diperlukan, beberapa aplikasi.

Hypervisor memungkinkan hal ini, yang menyediakan virtualisasi perangkat keras ke mesin virtual.

Hal ini memungkinkan satu server untuk menjalankan banyak sistem operasi mandiri sebagai tamu virtual. Secara umum, mesin virtual adalah sistem yang bekerja persis seperti komputer.

Wadah

Wadah mirip dengan mesin virtual, kecuali wadah bukan sistem operasi keseluruhan. Kontainer umumnya hanya menyertakan paket dan aplikasi OS yang diperlukan.

Mereka biasanya tidak berisi seluruh sistem operasi atau virtualisasi perangkat keras; ini "ringan".

Sebuah container biasanya digunakan untuk mengisolasi proses yang sedang berjalan dalam satu host untuk memastikan bahwa proses yang terisolasi tidak dapat berinteraksi dengan proses lain dalam sistem yang sama – container sandbox memproses satu sama lain.

Sederhananya, Anda dapat menganggap wadah Docker sebagai setara ringan dari mesin virtual.

Docker memungkinkan pembuatan dan bekerja dengan container seefisien mungkin.

Alasan Menggunakan Docker Container

  • Kontainer tidak memiliki OS tamu dan menggunakan sistem operasi host. Jadi, mereka berbagi library &resource yang relevan saat dan saat dibutuhkan.
  • Isolasi aplikasi:Jika Anda ingin menjalankan beberapa aplikasi di satu server, menyimpan komponen setiap aplikasi dalam wadah terpisah akan mencegah masalah dengan manajemen ketergantungan.
  • Pemrosesan dan eksekusi aplikasi sangat cepat karena binari khusus aplikasi dan pustaka kontainer berjalan di kernel host.
  • Mem-boot container hanya membutuhkan sepersekian detik.
  • Kontainer lebih ringan dan lebih cepat daripada mesin virtual.

Apa itu Kontainer Docker?

Docker adalah platform yang mengemas aplikasi dan semua dependensinya bersama-sama dalam bentuk wadah.

Ini menggunakan wadah untuk membuat pembuatan, penerapan, dan pengoperasian aplikasi menjadi lebih mudah. Docker mengikat aplikasi dan dependensinya di dalam sebuah wadah.

Container memungkinkan developer untuk mengemas aplikasi dengan semua bagian yang dibutuhkannya, seperti library dan dependensi lainnya, dan mengirimkan semuanya sebagai satu paket.

Katakanlah Anda perlu membangun aplikasi. Untuk membuat aplikasi itu tersedia untuk umum, Anda memerlukan tempat untuk menyimpannya. Di masa lalu, Anda perlu membangun komputer Anda.

Kemudian, Anda perlu menyiapkan layanan web khusus yang disebut “server”, komputer yang didedikasikan untuk menghosting situs web atau layanan web.

Namun, aplikasi Anda mungkin hanya memiliki ukuran sekitar 300 Megabita untuk memulai.

Jadi, mengapa Anda menginginkan “mesin virtual”, lingkungan tervirtualisasi yang dihasilkan dari virtualisasi, yang berukuran 1GB+ saat aplikasi Anda jauh lebih kecil dari itu?

Konsep "wadah" hadir untuk memperbaikinya. Docker melakukannya dengan cara berikut. Alih-alih menghosting setiap sistem operasi per aplikasi, beberapa sumber daya umum dapat dibagikan, dan ada sesuatu yang disebut "mesin buruh pelabuhan", yang berada di atas sistem operasi.

Mengadopsi Docker, atau container, adalah aplikasi dapat di-deploy atau di-deploy lebih cepat. Mulai dan berhenti lebih cepat, ubah ke "gambar" lain lebih cepat, proses dan lakukan banyak hal lebih cepat.

Namun, akan membantu jika Anda mengetahui elemen dan alat penting di sekitar ekosistem Docker saat memulai.

Dockerfile

Dockerfile adalah sekumpulan instruksi tepat yang menyatakan cara membuat image Docker baru – menyetel default untuk container yang dijalankan berdasarkan itu dan sedikit lebih banyak lagi.

Ini adalah dokumen teks yang berisi semua perintah yang dapat dipanggil pengguna pada baris perintah untuk merakit sebuah gambar.

Jadi, Docker dapat membuat image secara otomatis dengan membaca instruksi dari Dockerfile.

Gambar Docker

Docker Image dapat dibandingkan dengan template read-only yang digunakan untuk membuat container Docker. Dengan kata lain, gambar adalah cetak biru dari mana sejumlah wadah baru dapat dimulai.

Tidak ada "perintah yang sedang berjalan" yang disimpan dalam gambar. Saat Anda membuat container, itu seperti menyalakan mesin setelah dimatikan.

Kontainer Docker

Ini adalah instance Docker Image yang sedang berjalan karena menyimpan seluruh paket yang diperlukan untuk menjalankan aplikasi.

Bayangkan Anda ingin menjalankan perintah yang terisolasi dari semua hal lain di sistem. Seharusnya hanya mengakses dengan tepat sumber daya yang diizinkan dan tidak tahu ada hal lain di mesin.

Proses yang berjalan di dalam sebuah container mengira bahwa itu adalah satu-satunya yang melihat distro Linux barebone hal-hal yang dijelaskan dalam gambar.

Mesin yang menjalankan container seharusnya tidak terlalu mempedulikan apa yang ada di dalamnya, dan aplikasi yang di-docker tidak peduli apakah itu berada di cluster Kubernetes atau server tunggal – ia akan tetap dapat berjalan.

Sebuah container dapat menjalankan lebih dari satu proses pada satu waktu. Jadi, misalnya, Anda dapat mengemas banyak layanan ke dalam satu wadah dan menjalankannya secara berdampingan.

Saat penampung Docker dihapus, peluncuran ulang gambar akan memulai penampung baru tanpa perubahan apa pun yang dilakukan pada penampung yang berjalan sebelumnya – perubahan tersebut hilang.

Volume Docker

Gambar tidak berubah. Anda dapat membuat yang baru, tetapi hanya itu. Wadah, di sisi lain, tidak meninggalkan apa pun secara default. Oleh karena itu, setiap perubahan yang dilakukan pada penampung akan segera hilang setelah dikeluarkan.

Untuk menyimpan (bertahan) data dan berbagi data antar container, Docker memunculkan konsep volume . Sederhananya, volume adalah direktori (atau file) di luar sistem file default dan ada sebagai direktori dan file standar pada sistem file host.

Dengan kata lain, volume buruh pelabuhan memungkinkan kami untuk menyimpan data dan membagikannya antar container.

Kesimpulan

Kami harap artikel ini membantu Anda memahami dasar dasar Docker tentang apa itu wadah Docker dan Docker dan bagaimana hal itu merevolusi pengembangan perangkat lunak.

Dengan pengetahuan di atas, Anda harus memiliki pemahaman yang kuat tentang inti Docker.

Anda dapat mengunjungi situs web proyek atau merujuk ke dokumentasi resmi untuk informasi selengkapnya tentang Docker.


Docker
  1. Apa itu Docker (dan wadah Linux?)

  2. Cara Berbagi Data Antar Wadah Docker

  3. Cara Mendaftar Kontainer Docker

  1. Cara Menjalankan Nginx dalam Wadah Docker:Panduan Langkah demi Langkah

  2. Pengantar Virtualisasi:Panduan Komprehensif untuk Pemula

  3. Cara mencadangkan dan memulihkan wadah Docker

  1. Apa itu Doker?

  2. Bagaimana Mengelola Kontainer Docker? Praktik terbaik

  3. Cara Menjeda dan Melanjutkan Wadah Docker