Kenalan dengan docker container

Kenalan dengan docker container

Docker Container

Introduction

Saat ini, perkembangan software berkembangan dengan sangat pesat. Semakin banyak tool — tool yang digunakan dalam development application untuk mempermudah dan mempercepat dalam pengembangannya. Banyak contohnya seperti laravel framework untuk pengembangan aplikasi berbasis Web PHP, Adobe XD untuk design, dan kali ini yang akan kita bahas adalah Docker container untuk deployment application. Berikut saya akan membahas tentang Docker secara singkat.

Nah sekarang, apa sih docker itu ?.

“Docker adalah sebuah aplikasi yang bersifat open source yang berfungsi sebagai wadah/container untuk mengepak/memasukkan sebuah software secara lengkap beserta semua hal lainnya yang dibutuhkan oleh software tersebut dapat berfungsi. Pengaturan software beserta file/hal pendukung lainnya akan menjadi sebuah Image (istilah yang diberikan oleh docker). Kemudian sebuah instan dari Image tersebut kemudian disebut Container.”.

Jadi dari penjelasan diatas dapat disimpulkan bahwa docker adalah sebuah container yang membungkus aplikasi yang akan di deploy ke server.

0_YrKIALSYAmunSnpJ.jpg

Mengapa docker ? Sebagai contoh, misal kita memiliki sebuah aplikasi berbasis web entah itu Node.js ataupun PHP. Tentunya untuk mendeploy ke server kita harus memasang OS di servernya terus harus install software pendukung seperti Node.js (jika menggunakan Node.js), dan apache atau ngnix ( jika menggunakan php ). Selain itu kita juga harus menginstall package — package yang dibutuhkan seperti Composer, Express.js, MongoDB, SQL, dan lain — lain. Mungkin hal tersebut dapat dilakukan untuk mendeploy kedalam satu server. Apabila 10 server atau bahkan 100 server, cukup menyulitkan kita.

Berbeda kalau kita menggunakan docker, kita hanya perlu menambahkan file dockerfile pada project kita, lalu kita buat container dari project yang kita buat, lalu kita push ke regstry kemudian di server kita hanya perlu menginstall OS nya . Kemudian meng-pull project dari registry, tanpa harus menginstall package, software pembantu, termasuk konfigurasi project ( termasuk dalam container ).

Berikut contoh konfigurasi dari Dockerfile

1_TlyV36Qhb9Ho1i2vnB88-w.png

Bagaimana flow dari docker itu sendiri ? berikut flownya

0_hBY_RHg7PLN7hDES.png

Nah dari flow tersebut terdapat registry. Registry berfungsi sebagai tempat terpusat bagi tim kita untuk mengelola image Docker, menjalankan analisis kerentanan, dan menentukan siapa yang dapat mengakses dengan kontrol akses yang sangat terperinci. Selain itu, karena sudah terintegrasi dengan CI/CD, Kita dapat mengatur pipeline Docker yang sepenuhnya otomatis untuk mendapatkan masukan dalam waktu singkat. Untuk lebih jelasnya silahkan lihat di dokumentasi official docker hub.docker.com

Conclusion

Jadi singkatnya Docker merupakan sebuah container atau pembungkus yang digunakan untuk memperudah developer dalam proses deployment project. Developer dapat mendeploy ke server dengan mudah tanpa harus menginstall package, software support, dan konfigurasi project. Untuk lebih jelasnya kunjungi hub.docker.com

Referensi