Arsitektur Docker dan Komponennya untuk Pemula

Mari membiasakan diri dengan arsitektur Docker dan komponen-komponen pentingnya.


Saya menganggap Anda memiliki pemahaman dasar tentang Docker. Jika tidak, Anda bisa merujuk ke artikel sebelumnya.

Memahami Docker untuk Pemula – Teknologi Kontainer

Saya percaya Anda memahami pentingnya Docker di DevOps. Sekarang di belakang alat yang fantastis ini, harus ada arsitektur yang luar biasa dan dipikirkan dengan baik. Bukan begitu?

Tetapi sebelum saya berbicara tentang itu, izinkan saya memamerkan sistem virtualisasi sebelumnya dan saat ini.

Virtualisasi Tradisional vs. Generasi Baru

Sebelumnya, kami dulu membuat mesin virtual, dan masing-masing VM memiliki OS yang mengambil banyak ruang dan membuatnya berat.

Sekarang dalam kasus buruh pelabuhan, Anda memiliki satu OS, dan sumber daya dibagi di antara kontainer. Karena itu ringan dan boot dalam hitungan detik.

Tradisional vs Generasi Baru

Arsitektur Docker

Di bawah ini adalah diagram sederhana arsitektur Docker.

Arsitektur Docker

Izinkan saya menjelaskan komponen arsitektur buruh pelabuhan.

Mesin Docker

Ini adalah bagian inti dari keseluruhan sistem Docker. Docker Engine adalah aplikasi yang mengikuti arsitektur client-server. Itu diinstal pada mesin host. Ada tiga komponen dalam Docker Engine:

  • Server: Ini adalah daemon buruh pelabuhan yang disebut buruh pelabuhan. Itu dapat membuat dan mengelola gambar buruh pelabuhan. Wadah, jaringan, dll.
  • API sisanya: Digunakan untuk menginstruksikan docker daemon apa yang harus dilakukan.
  • Command Line Interface (CLI): Ini adalah klien yang digunakan untuk memasukkan perintah buruh pelabuhan.

Klien Docker

Pengguna Docker dapat berinteraksi dengan Docker melalui klien. Ketika perintah buruh pelabuhan berjalan, klien mengirimkannya ke daemon dockerd, yang menjalankannya. API Docker digunakan oleh perintah Docker. Klien Docker dapat berkomunikasi dengan lebih dari satu daemon.

Registri Docker

Ini adalah lokasi penyimpanan gambar Docker. Ini bisa menjadi registri buruh pelabuhan umum atau registri buruh pelabuhan pribadi. Docker Hub adalah tempat default dari gambar docker, pendaftaran publik tokonya. Anda juga dapat membuat dan menjalankan registri pribadi Anda sendiri.

Saat Anda menjalankan perintah docker pull atau docker run, gambar buruh pelabuhan yang diperlukan ditarik dari registri yang dikonfigurasi. Saat Anda menjalankan perintah push buruh pelabuhan, gambar buruh pelabuhan disimpan di registri yang dikonfigurasi.

Objek Docker

Saat Anda bekerja dengan Docker, Anda menggunakan gambar, wadah, volume, jaringan; semua ini adalah objek Docker.

Gambar-gambar

Gambar buruh pelabuhan adalah templat hanya-baca dengan instruksi untuk membuat wadah buruh pelabuhan. Gambar Docker dapat ditarik dari hub Docker dan digunakan apa adanya, atau Anda dapat menambahkan instruksi tambahan ke gambar dasar dan membuat gambar buruh pelabuhan yang baru dan dimodifikasi. Anda dapat membuat gambar buruh pelabuhan sendiri juga menggunakan dockerfile. Buat buruh pelabuhan dengan semua instruksi untuk membuat wadah dan menjalankannya; itu akan membuat gambar buruh pelabuhan khusus Anda.

Gambar Docker memiliki lapisan dasar yang hanya-baca, dan lapisan atas dapat ditulis. Ketika Anda mengedit dockerfile dan membangunnya kembali, hanya bagian yang dimodifikasi dibangun kembali di lapisan atas.

Wadah

Setelah Anda menjalankan gambar buruh pelabuhan, itu menciptakan wadah buruh pelabuhan. Semua aplikasi dan lingkungannya berjalan di dalam wadah ini. Anda dapat menggunakan Docker API atau CLI untuk memulai, menghentikan, menghapus wadah buruh pelabuhan.

Di bawah ini adalah contoh perintah untuk menjalankan container docker ubuntu:

buruh pelabuhan menjalankan -i -t ubuntu / bin / bash

Volume

Data yang ada dihasilkan oleh buruh pelabuhan dan digunakan oleh wadah Docker disimpan dalam Volume. Mereka sepenuhnya dikelola oleh buruh pelabuhan melalui buruh pelabuhan CLI atau Docker API. Volume berfungsi pada wadah Windows dan Linux. Daripada mempertahankan data dalam lapisan yang bisa ditulisi kontainer, itu selalu merupakan opsi yang baik untuk menggunakan volume untuk itu. Konten volume ada di luar siklus hidup wadah, jadi menggunakan volume tidak menambah ukuran wadah.

Anda dapat menggunakan -v atau –mount flag untuk memulai sebuah wadah dengan volume. Dalam perintah sampel ini, Anda menggunakan volume geekvolume dengan wadah geekflare.

run docker -d –name geekflare -v geekvolume: / app nginx: terbaru

Jaringan

Jaringan Docker adalah bagian di mana semua wadah terisolasi berkomunikasi. Ada lima driver jaringan di docker:

  1. Jembatan: Ini adalah driver jaringan default untuk sebuah wadah. Anda menggunakan jaringan ini ketika aplikasi Anda berjalan pada wadah mandiri, mis. Beberapa wadah berkomunikasi dengan host buruh pelabuhan yang sama.
  2. Tuan rumah: Driver ini menghilangkan isolasi jaringan antara wadah buruh pelabuhan dan host buruh pelabuhan. Ini digunakan ketika Anda tidak membutuhkan isolasi jaringan antara host dan wadah.
  3. Hamparan: Jaringan ini memungkinkan layanan swarm untuk berkomunikasi satu sama lain. Ini digunakan ketika kontainer berjalan pada host Docker yang berbeda atau ketika layanan swarm dibentuk oleh beberapa aplikasi.
  4. Tidak ada: Driver ini menonaktifkan semua jaringan.
  5. macvlan: Driver ini memberikan alamat mac ke wadah untuk membuatnya terlihat seperti perangkat fisik. Lalu lintas diarahkan antara kontainer melalui alamat mac mereka. Jaringan ini digunakan ketika Anda ingin wadah terlihat seperti perangkat fisik, misalnya, saat memigrasi pengaturan VM.

Kesimpulan

Saya harap ini memberi Anda gambaran tentang arsitektur Docker dan komponen-komponen pentingnya. Arahkan sekitar Docker untuk mempelajari lebih lanjut dan jika tertarik untuk mendapatkan pelatihan langsung, maka periksa ini Tentu saja Penguasaan Docker.

TAGS:

  • Buruh pelabuhan

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map