Docker - Overview

Hai, penggemar teknologi yang bersemangat! Saya sangat gembira untuk memulai perjalanan Docker bersama Anda. Sebagai guru komputer tetangga yang ramah, saya akan memandu Anda melalui dunia menarik Docker, membuatnya semudah mengerjakan kue bagi siapa saja yang belum pernah menulis baris kode. Jadi, pasang sabuk keselamatan Anda, dan mari kita menaiki kapal S.S. Docker!

Docker - Overview

Apa Itu Docker?

Bayangkan Anda pindah ke rumah baru. Apakah tidak menakjubkan jika Anda dapat memasukkan seluruh kamar Anda - kasurnya, meja, komputer, bahkan udara di dalamnya - ke dalam kotak magis yang Anda dapat membawa dan membuka dimana-mana? Itu adalah esensi apa yang Docker lakukan untuk software!

Docker adalah platform yang memungkinkan Anda memakai aplikasi dan semua dependensinya ke dalam unit standar yang disebut kontainer. Kontainer ini ringan, portabel, dan dapat berjalan konsisten di mana saja yang memiliki Docker terpasang.

Ini adalah analogi sederhana yang saya suka gunakan di kelas:

Kontainer Docker = Makanan favorit Anda di dalam kotak makan siang

Seperti kotak makan siang Anda berisi semua yang Anda butuhkan untuk makanan lengkap, kontainer Docker mencakup semua yang aplikasi butuhkan untuk berjalan.

Mengapa Docker Digunakan?

Sekarang, Anda mungkin berpikir, " Mengapa saya harus khawatir tentang Docker?" Biar saya katakan kepada Anda, Docker seperti pisau swiss dalam dunia software. Itu menyelesaikan banyak masalah yang dihadapi pengembang dan administrator sistem setiap hari.

1. Keserasian

Ingat masalah klasik "Itu bekerja di mesin saya"? Docker menghilangkan ini dengan memastikan bahwa jika aplikasi bekerja di kontainer Docker di mesin Anda, itu akan bekerja sama seperti itu di mana saja yang menjalankan Docker.

2. Pemisahan

Kontainer Docker terpisah dari yang lain dan dari sistem tuan rumah. Ini berarti Anda dapat menjalankan banyak aplikasi tanpa mengganggu satu sama lain, bahkan jika mereka menggunakan versi berbeda dari software yang sama.

3. Efisiensi

Kontainer ringan dan mudah dimulai, membuatnya lebih efisien daripada mesin virtual tradisional.

4. Skalabilitas

Docker membuat mudah untuk menyesuaikan aplikasi secara naik atau turun dengan menambahkan atau menghapus kontainer.

Berikut adalah tabel yang menggabungkan manfaat utama Docker:

Manfaat Deskripsi
Keserasian Lingkungan yang sama di mana saja
Pemisahan Aplikasi tidak mengganggu
Efisiensi Ringan dan cepat
Skalabilitas Mudah untuk menyesuaikan

Kontainer Docker vs Mesin Virtual

Sekarang, Anda mungkin telah mendengar tentang mesin virtual (VM) dan bertanya bagaimana kontainer Docker berbeda. mari kitauraikan ini dengan analogi yang menyenangkan:

Bayangkan Anda membangun rumah (aplikasi Anda):

  • Mesin virtual seperti membangun rumah lengkap dengan dasar, tembok, atap, pipa, dan listrik untuk setiap aplikasi.
  • Kontainer Docker seperti membangun unit apartemen di gedung bersama. Setiap apartemen (kontainer) memiliki ruang tinggal sendiri tetapi berbagi dasar dan utilitas gedung.

Berikut adalah perbandingan teknis yang lebih rinci:

Mesin Virtual:
[OS Tamu] -> [Hypervisor] -> [OS Tuan] -> [Server]

Kontainer Docker:
[Kontainer] -> [Mesin Docker] -> [OS Tuan] -> [Server]

Seperti yang Anda lihat, kontainer Docker lebih ringan karena mereka berbagi kernel OS tuan, sedangkan VM memerlukan OS lengkap untuk setiap instance.

Arsitektur Docker

Ayo masuk ke arsitektur Docker. Jangan khawatir; saya akan menjadikannya semudah membangun dengan blok LEGO!

Docker mengikuti arsitektur klien-server. Komponen utamanya adalah:

  1. Klien Docker
  2. Host Docker
  3. Register Docker

1. Klien Docker

Klien Docker seperti remote kontrol TV Docker Anda. Itu adalah apa yang Anda gunakan untuk berinteraksi dengan Docker. Ketika Anda menjalankan perintah Docker, klien mengirim perintah ini ke daemon Docker.

docker run hello-world

Perintah ini mengatakan kepada klien Docker untuk menjalankan kontainer menggunakan citra 'hello-world'.

2. Host Docker

Host Docker adalah tempat semua kegiatan terjadi. Itu berisi:

  • Daemon Docker: Ini adalah otak Docker. Itu mengelola objek Docker seperti citra, kontainer, jaringan, dan volume.
  • Kontainer: Ini adalah instance yang dapat berjalan dari citra Docker.
  • Citra: Ini adalah templat read-only yang digunakan untuk membuat kontainer.

3. Register Docker

Pertimbangkan Register Docker seperti perpustakaan citra Docker. Docker Hub adalah register umum default, tetapi Anda juga dapat membuat register pribadi.

docker pull ubuntu

Perintah ini mengambil citra Ubuntu dari Docker Hub ke komputer lokal Anda.

Berikut adalah diagram sederhana tentang bagaimana komponen ini berinteraksi:

[Klien Docker] <-> [Host Docker (Daemon + Kontainer + Citra)] <-> [Register Docker]

Kesimpulan

Selamat! Anda telah menyelesaikan perjalanan pertama Anda ke dunia Docker. Kita telah menelusuri apa itu Docker, mengapa digunakan, bagaimana itu dibandingkan dengan mesin virtual, dan arsitektur dasarnya.

Ingat, belajar Docker seperti belajar berenang. Pada awalnya, itu mungkin terlihat menakutkan, tapi dengan latihan, Anda akan mulai berenang seperti ikan dalam air!

Dalam tahun-tahun pengajaran saya, saya telah melihat banyak siswa bergerak dari pemula Docker ke kapten kontainer. Anda sedang dalam jalannya untuk bergabung dengan mereka. Terus mencoba, terus belajar, dan terutama, bersenang-senang dengan itu!

Dalam pelajaran berikutnya, kita akan mendalami pembuatan dan pengelolaan kontainer Docker. Sampai jumpa, semoga kontainer Anda ringan dan pengiriman Anda mulus!

Credits: Image by storyset