Kali ini saya akan menulis materi yang sudah saya pelajari selama mengikuti bootcamp dan magang di sebuah perusahaan cloud provider. diawal saya tekankan materi yang saya tulis ini saya tulis berdasarkan apa yang saya pelajari dari dokumentasi di berbagai sumber dan pengalaman belajar selama magang.
Oke langsung saja capcus, jadi Apa sih itu Docker?
Docker adalah sebuah platform software berbasis open source yang memiliki fungsi untuk membangun, mengirim, dan menjalankan aplikasi yang dapat terintegrasi, baik untuk desktop, server-client, mesin virtual, dan bahkan cloud. Docker memiliki dua varian, Docker-CE atau Docker Community Edition dan Docker Enterprise Edition.
Jadi, biasanya kalau kita membuat atau menginstall sebuah aplikasi, kita diharuskan menginstall depedensi, paket-paket pendukung dari si aplikasi tersebut di server kita secara manual, seperti ketika kita membutuhkan webserver nya kita install dulu Nginx atau Apache, kalau Database nya kita mesti ya install juga MySQL atau PostgreSQL, dan lain sebagainya.
Hal itu apabila kita terapkan di sebuah server production, yang didalamnya terdapat banyak service ataupun aplikasi, kita akan terlalu banyak menginstall paket-paket tersebut, sehingga membuat kita menjadi tidak efisien, terutama efisiensi waktu, disisi lain ada client/user yang menuntut agar aplikasi di develop dapat berjalan dengan cepat dan optimal.
Dengan adanya Docker kita dapat melakukan deployment aplikasi menjadi lebih mudah dan fleksibel, jadi dengan kita mengunduh image aplikasi yang kita butuhkan melalui registry docker hub, kemudian kita jalankan menjadi sebuah container di server, dan aplikasi siap untuk digunakan.
Oke jadi inti dari tulisan ini bahwasanya Docker adalah sebuah platform yang wajib dipelajari oleh setiap enginner yang mau terjun ke dunia Development, Software Enginner, Infrastruture, dan Cloud. banyak hal yang akan saya bahas selanjutnya, so stay read and practice.