Belajar Merilis Aplikasi di Docker
Menjalankan aplikasi dengan kontainer Docker
Posted by Erwindo SianiparFeb 13, 2020 (5 years ago) · 5 min read
Photo by Johan Taljaard on Unsplash
Hari ini saya mempelajari satu alat yang sangat berguna dalam pengembangan aplikasi. Alat ini bernama Docker, di mana Docker ini sedikit memiliki kesamaan dengan konsep Virtual Machine namun dengan fitur yang lebih memudahkan lagi dalam perilisan aplikasi.
Apa itu Docker?
Docker adalah proyek dengan kode sumber terbuka sebagai produk atau layanan yang ditujukan untuk pengembang aplikasi untuk membangun, mengemas, dan menjalankan aplikasi secara virtual yang berada satu tingkat dalam sistem operasi di dalam sebuah kontainer.
Infrastruktur Docker ini sendiri berada di atas sistem operasi berbasis Unix, selanjutnya aplikasi-aplikasi yang akan di jalankan berada di dalam kontainer. Kontainer-kontainer ini adalah paket-paket aplikasi yang siap untuk dijalankan secara bersamaan.
Gambar di atas memvisualisasikan bahwa aplikasi-aplikasi yang siap untuk dijalankan dari di dalam sebuah kontainer, di mana kontainer itu sendiri berjalan di atas Docker.
Virtual Machine dan Docker
Seperti namanya Virtual Machine (VM) adalah sebuah mesin virtual yang memiliki kemampuan untuk menciptakan mesin komputer dan memiliki kemampuan yang sama dengan mesin komputer penciptanya.
Jika infrastruktur proyek yang dikerjakan menggunakan konsep microservice, konsep VM di atas akan cukup merepotkan, karena harus menginstalasi satu sistem operasi untuk media di mana aplikasi berjalan, coba bayangkan jika proyek tersebut memiliki beberapa aplikasi, maka harus memasang sistem operasi untuk masing-masing microservice dan belum termasuk dengan pemasangan hal yang lain agar aplikasi dapat berjalan dengan baik sesuai dengan kebutuhannya.
Docker sendiri telah mempermudah tahapan-tahapan perilisan aplikasi dengan cara di atas, di mana semua aplikasi-aplikasi berada di dalam satu kontainer yang berajalan di atas Docker. Paket atau aplikasi pendukung hanya perlu dipasang sekali di dalam Docker Image dan jika aplikasi-aplikasi menggunakan konsep microservice maka setiap aplikasinya dapat berbagi sumber yang sama.
Docker Image
Docker Image adalah sebuah objek yang hanya dapat dibaca. Objek ini merupakan aplikasi yang sudah dibuat. Docker Image berfungsi untuk membuat aplikasi yang nanti akan dijalankan di kontainer Docker. Kontainer Docker memungkinkan untuk menjalankan beberapa Docker Image sekaligus di dalamnya. Secara sederhana, Docker Image ini merupakan aplikasi yang sudah siap dijalankan, biasanya sudah dalam bentuk yang dapat dieksekusi (executable).
Kontainer Docker
Kontainer Docker dapat dikatakan sebagai sebuah media tempat aplikasi-aplikasi berjalan. Setiap kontainer Docker yang disimpan terdapat Docker Image di dalamnya. Kontainer Docker juga memungkinkan untuk melakukan duplikasi. Kontainer Docker ini nantinya dapat dijalankan sehingga aplikasi dapat digunakan selayaknya seperti aplikasi yang sudah dirilis.
Menggunakan Docker
Untuk menggunakan Docker, maka diperlukan Docker yang sudah terpasang di sistem komputer, lakukan pemasangan Docker di lokal komputermu, untuk cara pemasangannya silahkan ikuti tutorial dari tautan di bawah ini.
Pertama buat sebuah folder untuk menempatkan proyek Docker.
Selanjutnya perlu membuat satu fail
Dockerfile
yang berguna untuk initialisasi Docker.Perintah di atas akan membuat satu
Dockerfile
yang masih kosong, yang nanti akan diisi perintah untuk menjalankan Docker. Dan selanjutnya isi fail Dockerfile
dengan perintah di bawah ini.Konfigurasi Docker di atas sudah cukup untuk aplikasi sederhana yang akan dibuat.
Antarmuka Aplikasi Pemrograman di Docker
Selanjutnya membuat Antarmuka Aplikasi Pemrograman (API) sederhana yang akan dijalankan di Docker. Dalam studi kasus kali, ini aplikasi akan dibuat menggunakan bahasa pemrograman Golang, aplikasinya hanya akan menampilkan respon berupa pesan dengan format
JSON
saat dikunjungi.Pertama-tama, buatlah fail dengan nama
main.go
.Selanjutnya untuk menjalankan API tersebut dengan Docker, buatlah satu fail dengan nama
docker-compose.yml
dan isi dengan kode di bawah ini.Jalankan Docker
Untuk menjalankan aplikasi tersebut dengan Docker terbilang cukup mudah, karena dengan sistem Docker Compose yang sudah dibuat sebelumnya.
Perintah untuk menjalankan Docker.
Dengan perintah di atas, maka aplikasi akan dibuatkan menjadi executable dan dijalankan secara langsung oleh Docker, untuk menjalankan aplikasi tersebut akses aplikasi melalui alamat berikut di aplikasi peramban atau aplikasi penguji protokol transfer hipertext.
🌐
http://localhost:8080
Menghentikan Docker
Untuk menghentikan aplikasi maka hanya menjalankan perintah
takedown
dengan perintah berikut.More from Erwindo SianiparSee all