Docker Orchestration: Containerize Application

Apa itu Docker?

Yang pastinya istilah docker ini tidak asing pada pengembang software khususnya pada posisi backend ataupun devops. Apa itu Docker ? Docker adalah platform atau aplikasi yang bersifat open source untuk memasukkan dan menyatukan beberapa file software yang disatukan ke dalam suatu wadah atau biasa disebut dengan container. Apa yang dimaksud container ? Container tersebut nantinya akan memuat kumpulan image yang berisi data konfigurasi dan file pendukung lainnya. Docker digunakan sebagai solusi bagi tim developer dalam mengembangkan aplikasi di berbagai environment yang ada.

Apa Kegunaan Docker?

Dari definisi ada beberapa fungsi umum yang dimiliki oleh Docker, diantara sebagai berikut:

Features of the docker

Berikut merupakan ada beberapa fitur Docker antara lain :

  1. Docker Hub, registry yang digunakan untuk berbagai macam Docker images
  2. Docker Compose, digunakan untuk mendefinisikan aplikasi menggunakan banyak kontainer Docker.
  3. Docker untuk Mac, memungkinkan menjalankan kontainer Docker pada Mac.
  4. Docker untuk Linux, memungkinkan menjalankan kontainer Docker pada Linux.
  5. Docker untuk Windows, memungkinkan menjalankan kontainer Docker pada Windows.
Fitur dari docker

Components dalam Docker

ada beberapa komponen yang perlu kita ketahui di docker sebelum mengetahui cara kerja docker:

  1. Container, adalah lingkungan untuk mengemas dan menjalankan aplikasi. Ini mencakup kode, runtime, system tools, dan pengaturan. Container hanya bisa mengakses resource yang telah ditentukan dalam docker image;
  2. Docker client, yaitu tempat di mana pengguna dapat mengirimkan perintah seperti docker build, docker pull, dan docker run kepada Docker daeomon;
  3. Docker Engine Rest API, digunakan untuk berinteraksi dengan Docker daemon. Ini bisa diakses klien melalui HTTP;
  4. Docker host, menyediakan lingkungan yang lengkap untuk menjalankan aplikasi. Dia bertanggung jawab terhadap penerimaan perintah yang diberikan Docker client;
  5. Docker daemon, yaitu proses pengelolaan Docker images, kontainer, network, dan storage volumes. Docker daemon menerima request dari Docker API dan akan memprosesnya;
  6. Docker registry, wadah untuk menyimpan Docker image. Docker image akan memberi reaksi sesuai perintah yang diberikan. Misalnya saat diberi perintah docker push, docker image akan didorong atau dibagikan ke registri Docker Hub;
  7. Docker Hub adalah layanan yang disediakan untuk menemukan dan berbagi gambar container dengan tim.

Apa itu Docker Orchestration ?

Docker / Container Orchestration ini sebenarnya adalah mengurus daur hidup dari container-container yang ada, yang ada dalam environment yang dinamik. Contoh orchestrator yang dikenal kalangan masyarakat luas, salah satunya adalah kubernetes, docker swarm, apache mesos, dll.

Support Docker Orchestration

Tujuan Menggunakan Docker Orchestration

Tentu banyak tujuan yang bisa tercapai dengan menggunakan docker orchestration antara lain untuk memperoleh fungsi berikut:

  1. Schedule beberapa container agar berjalan dihost yang berbeda
  2. Membantu menjalankan container pada salah satu host namun bisa dengan mudah berpindah pada host yang lain
  3. Menghubungkan container dengan storage
  4. Menghubungkan container dengan conteiner serupa namun dengan higher-level construct, seperti services. Biasanya tidak bisa dilakukan dengan individual containers
  5. Menjaga resources agar tetap dicek secara berkala dan dapat dioptimasi secara otomatis jika diperlukan
  6. Mengijinkan aplikasi untuk menjalankan keamanan lebih tinggi didalam containers

Implementasi Docker pada PPL

Saya mencoba mengimplementasikan docker pada PPL (Proyek Perangkat Lunak) yaitu Laywook aplikasi koperasi online. Berikut struktur dari proyek kita.

Struktur Proyek Laywook
Implementasi Dockerfile untuk membuat image
Docker compose
docker-compose up

References:

https://www.docker.com

--

--

Computer Science College Student

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store