Pernahkan Anda menjumpai suatu aplikasi yang dapat berjalan dan digunakan dengan baik di salah satu komputer atau server, namun ketika dipindahkan, aplikasi tersebut tidak dapat berjalan sebagaimana mestinya. Docker adalah solusi yang bisa memecahkan masalah ini!
Sederhananya, Docker adalah software yang dapat digunakan untuk mendeploy sebuah aplikasi dalam container virtual. Pada artikel ini, kami akan membahas apa itu Docker, definisi, fungsi, hingga cara instalasinya. Semakin penasaran? Simak sampai selesai, ya!
Apa itu Docker?
Docker adalah perangkat lunak berbasis open-source yang dapat mem-package, men-deploy, serta mendistribusikan aplikasi secara konsisten di environment berbeda, sehingga aplikasi bisa berjalan sebagaimana mestinya.
Dengan menggunakan Docker, proses development akan menjadi jauh lebih mudah dan efisien. Mengapa demikian? Simak bagaimana cara kerja Docker berikut!
Cara Kerja Docker
Jika disederhanakan, cara kerja Docker adalah sebagai berikut:
- Docker akan mem-package aplikasi serta semua dependensi dan konfigurasi yang ada di dalamnya.
- Dengan package ini, pembuatan code dan konfigurasinya lebih portable dan mudah dibagikan ke mana saja. Hal ini, membuat proses development aplikasi menjadi jauh lebih mudah.
Sebagai contoh, Anda sudah selesai membuat aplikasi di komputer dan ingin membagikan code aplikasi tersebut ke rekan Anda untuk dites atau mungkin dilakukan penambahan fitur. Tapi, entah mengapa aplikasi Anda tidak dapat dijalankan di komputer lain.
Mengapa hal ini bisa terjadi? Ada beberapa kemungkinan, di antaranya:
- Ada file atau konfigurasi yang tidak ada di komputer rekan Anda, sehingga membuat aplikasi tidak berjalan dengan baik.
- Kedua komputer menggunakan versi software yang berbeda. Misal, Anda menggunakan versi PHP 8.1 namun rekan Anda menggunakan versi PHP 5.6.
- Kedua komputer memiliki konfigurasi yang berbeda.
Kendala ini dapat diselesaikan dengan mudah menggunakan Docker, karena Docker memiliki peran untuk membuat aplikasi di-deploy dan didistribusikan dengan mudah di perangkat atau server lain.
BACA JUGA: Proxy Server: Pengertian dan Manfaatnya
Cara Develop Aplikasi Menggunakan Docker
Apakah Anda sudah mulai memahami tentang apa itu Docker? Lalu, bagaimana Docker dapat memudahkan pekerjaan Anda dalam mengembangkan sebuah aplikasi? Berikut kami rangkum perbandingan bagaimana aplikasi dikembangkan dan dijalankan dengan dan tanpa Docker Container:
Sebagai contoh, ada 3 developer yang sedang mengembangkan aplikasi di komputer. Ketiganya menggunakan OS yang berbeda, dengan MySQL v5.7 dan Redis v5.0.
Tanpa Docker Container
Jika tidak menggunakan Docker Container, setiap developer harus:
- Menginstall masing-masing software dengan versi yang sama.
- Proses instalasi di masing-masing OS pasti memiliki cara yang berbeda-beda. Misal, install software di Linux, pasti berbeda dengan cara install software di Windows ataupun di Mac OS.
- Langkah instalasi software di OS yang berbeda ini, semakin membuat rentan munculnya kemungkinan kesalahan, misalnya, tidak ada setting tertentu di salah satu OS, atau mungkin ada tambahan setting, dan lain sebagainya.
Menggunakan Docker Container
Jika Anda menggunakan Docker Container, proses instalasi software yang dibutuhkan akan menjadi jauh lebih mudah. Mengapa demikian?
Hal ini karena, di dalam Container sudah ada konfigurasi sistem dan software yang diperlukan, misalnya MySQL v5.7. Selain itu, ada juga startup script berisi setting tertentu untuk terhubung dengan database.
Dengan menggunakan Docker Container, ketiga developer cukup menginstall MySQL Container, tanpa perlu melakukan konfigurasi lainnya. Sudah bisa dipastikan aplikasi dapat berjalan dengan baik, sebagaimana mestinya.
Alasan Menggunakan Docker
Docker adalah software yang dapat memberikan solusi dan kemudahan dalam mendistribusikan program dan aplikasi di perangkat berbeda dengan lebih mudah.
Contoh lain, ada seorang staf baru yang baru bergabung dengan di tim Anda. Di hari pertama, staf tersebut diminta untuk menjalankan aplikasi yang telah dibuat menggunakan Docker.
Dengan Docker, staf baru tersebut tidak perlu menginstal berbagai macam aplikasi baru. Cukup jalankan perintah berikut agar aplikasi dapat berjalan dengan baik, lengkap dengan konfigurasi dan dependensinya:
docker-compose up
Sangat mudah, bukan? Docker adalah software yang terbukti akan membuat Anda dan tim berhemat banyak waktu, karena hanya dengan menjalankan 1 perintah saja, dan menunggu satu atau dua menit, aplikasi sudah bisa dijalankan dengan baik.
Tentu hal ini akan sangat berbeda jika kejadian di atas dikerjakan tanpa menggunakan Docker, Anda perlu menginstall berbagai software pendukung, yang juga tidak akan menjamin aplikasi bisa berjalan sebagaimana mestinya.
Fungsi Docker
Selain memudahkan proses pengembangan aplikasi, ada berbagai fungsi lain dari Docker. Fungsi-fungsi Docker adalah sebagai berikut:
1. Mempermudah Pengembangan Aplikasi
Docker terbukti memudahkan Anda dalam mengembangkan sebuah aplikasi. Jika sebelumnya Anda memakan banyak waktu untuk menginstall software pendukung, dengan Docker Anda cukup menjalankan 1 perintah, dan aplikasi Anda sudah bisa digunakan dengan baik.
2. Mendukung Multi Tenancy
Maksud dari Docker mendukung multi tenancy adalah Docker dapat menjalankan beberapa aplikasi dengan versi ataupun konfigurasi yang berbeda dalam 1 perangkat.
Sebagai contoh, Anda menjalankan Aplikasi #1 dengan menggunakan PHP 8.1.dan Aplikasi #2 menggunakan PHP 5.4. Dengan menggunakan Docker, Anda akan memiliki environment yang terisolasi dengan baik, sehingga setiap environment tidak saling mengganggu.
Ketika Anda sudah tidak memerlukan Aplikasi #2, maka Anda cukup menjalankan 1 perintah saja untuk Aplikasi #2 beserta konfigurasi dan dependensinya tanpa mengganggu Aplikasi #1.
3. Menyederhanakan Konfigurasi
Docker adalah perangkat lunak yang membuat konfigurasi menjadi lebih sederhana dan mudah. Anda tidak memerlukan overhead untuk menjalankan banyak environment di perangkat yang sama.
Kelebihan dan Kekurangan
Setelah membaca informasi di atas, tentu ada banyak kelebihan yang bisa dapatkan dengan menggunakan Docker. Tapi apakah ada kekurangan dari Docker? Mari kita ulas kelebihan dan kekurangan Docker berikut:
Kelebihan Docker
Beberapa kelebihan Docker adalah sebagai berikut:
- Dapat Digunakan di Berbagai OS
Docker dapat digunakan di berbagai jenis OS, seperti Windows, Linux, dan Mac OS. Jadi Docker dapat digunakan secara fleksibel di beragam komputer untuk membantu Anda membangun atau mengembangkan sebuah aplikasi.
- Memberi Garansi Aplikasi Dapat Berjalan Dengan Baik
Dengan menggunakan Docker, aplikasi Anda dapat digunakan dan dikembangkan di perangkat berbeda dengan cepat dan mudah. Tanpa perlu beragam aplikasi, Anda cukup mengetikkan 1 perintah, dan aplikasi Anda sudah bisa berjalan dengan baik.
- Komunitas yang Luas
Ada banyak komunitas Docker yang dapat dengan mudah ditemui, sehingga Anda tidak perlu khawatir jika mengalami masalah dalam penggunaannya.
BACA JUGA: Apa Itu FTP Server? Pengertian dan Bedanya Dengan FTP Client
Kekurangan Docker
Selain kelebihan, Docker juga memiliki beberapa kekurangan yang harus diperhatikan. Kekurangan Docker adalah sebagai berikut:
- Berbasis CLI (Command Line Interface)
Sederhananya, CLI adalah mekanisme interaksi dengan perangkat lunak dengan mengetikkan perintah untuk menjalankan tugas tertentu. Docker adalah software yang menggunakan CLI, sehingga Anda perlu menguasai perintah dasar Linux untuk dapat menjalankannya.
- Kecepatan yang Kurang
Meskipun menggunakan Docker terlihat lebih praktis, tapi dalam hal kecepatan Docker masih kalah jika dibandingkan dengan menjalankan aplikasi secara Native pada Dedicated server.
Cara Install Docker di VPS
Apakah Anda sudah tertarik untuk menggunakan Docker? Cara instalasi Docker di Windows maupun Mac OS sangat mudah. Anda cukup download aplikasi Docker dari halaman resmi Download Docker, dan dengan beberapa klik saja, Docker sudah terinstall di perangkat Anda.
Sedangkan Jika menggunakan VPS Linux, instalasi dilakukan dengan menggunakan baris perintah. Berikut ini contoh install Docker di VPS dengan OS Linux Ubuntu:
- Login ke SSH server Anda. Berikut panduan login ke SSH bila Anda menggunakan perangkat Windows.
- Lakukan update dependensi server Ubuntu.
sudo apt update
Install beberapa package dengan perintah berikut:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Tambahkan GPG key untuk menambahkan official repository Docker ke sistem server Ubuntu.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Tambahkan Docker repository ke APT source Ubuntu.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Update kembali dependencies Ubuntu.
sudo apt update
Eksekusi command untuk instalasi Docker.
sudo apt install docker-ce
Setelah proses instalasi selesai, cek service Docker dengan perintah berikut:
sudo systemctl status docker
Jika Docker berhasil diinstall, akan muncul informasi berikut:
Output:
? docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago
Docs: https://docs.docker.com
Main PID: 10096 (dockerd)
Tasks: 16
CGroup: /system.slice/docker.service
??10096 /usr/bin/dockerd -H fd://
??10113 docker-containerd --config /var/run/docker/containerd/containerd.toml
Selengkapnya tentang cara install Docker di VPS bisa Anda pelajari pada artikel berikut ini: Install Docker di Ubuntu
Kesimpulan
Docker adalah software yang dapat membantu Anda mem-package, mendeploy, serta mendistribusikan aplikasi secara konsisten di environment yang berbeda, sehingga aplikasi bisa berjalan sebagaimana mestinya, dengan jauh lebih mudah dan efisien.
Semoga setelah membaca artikel ini, Anda sudah mengetahui apa itu Docker, kelebihan, kekurangan, serta mengetahui juga alasan mengapa Anda perlu menggunakan Docker. Semoga bermanfaat!