Cara Menjalankan Aplikasi NodeJS menggunakan Docker
Cara Menjalankan Aplikasi NodeJS menggunakan Docker

Cara Menjalankan Aplikasi NodeJS menggunakan Docker

0 Shares
0
0
0

Apa Itu Docker?

Docker adalah sebuah platform perangkat lunak open source yang memungkinkan pengguna untuk mengembangkan, menguji, dan menjalankan aplikasi dengan mudah di lingkungan yang terisolasi. 

Istilah “terisolasi” di sini merujuk pada container Docker, yaitu unit pengemasan standar yang mengandung perangkat lunak, semua dependensinya, dan konfigurasinya.

Docker memungkinkan pengembang untuk mengemas aplikasi beserta semua dependensinya ke dalam sebuah container yang dapat dijalankan di lingkungan apapun, termasuk komputer lokal, server cloud, atau lingkungan lainnya yang mendukung Docker.

Setiap container memiliki semua perangkat lunak dan dependensi yang diperlukan untuk menjalankan aplikasi dengan cara yang konsisten, independen dari lingkungan host.

Fungsi dan Fitur dari Docker

Docker menyediakan fitur untuk mengelola container dan menjalankan aplikasi di lingkungan produksi dengan cara yang lebih mudah dan efisien.

Fitur-fitur ini meliputi, antara lain, kemampuan untuk membuat, menjalankan, dan menghapus container, serta untuk melakukan pengelolaan resource dan jaringan.

Docker juga memiliki fitur untuk melakukan pengujian dan validasi kode, sehingga memastikan konsistensi antara lingkungan pengembangan dan produksi.

Keunggulan dari Docker

Dengan Docker, pengembang dapat mempercepat proses pengiriman aplikasi dan memastikan konsistensi antara lingkungan pengembangan dan produksi.

Docker juga dapat membantu organisasi dalam mengoptimalkan penggunaan resource, meningkatkan efisiensi operasional, dan mempermudah manajemen aplikasi secara keseluruhan.

Istilah-istilah dalam Docker

Berikut adalah beberapa istilah dalam Docker serta penjelasan singkat:

  • Container: Unit pengemasan standar yang mengandung perangkat lunak, semua dependensinya, dan konfigurasinya. Container memungkinkan pengguna untuk menjalankan aplikasi secara terisolasi dari lingkungan host.
  • Image: Template yang digunakan untuk membuat container. Image berisi konfigurasi dan dependensi yang diperlukan untuk menjalankan aplikasi.
  • Dockerfile: File teks yang berisi instruksi untuk membuat sebuah image.
  • Registry: Tempat penyimpanan image Docker, seperti Docker Hub.
  • Repository: Kumpulan dari image Docker yang terorganisir dalam sebuah registry.
  • Volume: Cara untuk menyimpan dan berbagi data antara container Docker dan lingkungan host.
  • Network: Jaringan virtual yang digunakan untuk menghubungkan container Docker.
  • Service: Konfigurasi untuk menjalankan sebuah group container Docker yang terkait dan saling bergantung.
  • Swarm: Mode cluster Docker yang memungkinkan pengguna untuk menjalankan dan mengelola container Docker dalam skala besar.
  • Stack: Kumpulan dari service, network, dan volume yang didefinisikan dalam sebuah file docker-compose.yml dan dijalankan bersama-sama dalam sebuah lingkungan Docker.

Itulah penjelasan singkat mengenai docker, kita tidak membahas secara mendalam karena tidak akan cukup pada artikel ini, jadi jika ada materi tertulis yang masih kurang, kalian bisa searching  di website lain atau video youtube.

Pada kesempatan ini kita akan membahas cara menjalankan sebuah aplikasi berbasis Nodejs menggunakan docker, adapun aplikasi yang akan kita coba adalah Aplikasi Antrian yang telah kita bahas pada artikel sebelumnya disini.

Biasanya kita menjalankan aplikasi  langsung pada komputer atau host, namun sekarang kita tetap menjalankannya pada komputer atau host, akan tetapi kita membungkus aplikasi tersebut terlebih dahulu dengan sebuah container Docker yang terisolasi.

Ada beberapa tools yang harus kita siapkan untuk menjalankan aplikasi dengan docker dan untuk cara instalasi tools bisa lihat pada website lain atau video youtube.

Tools

  • Operating System bebas (disini memakai windows 10)
  • Docker Desktop (bisa lihat di https://www.docker.com)
  • Code Editor (disini menggunakan VS Code)
  • Browser Terbaru.
  • Aplikasi yang akan kita jalankan pada Docker (disini menggunakan aplikasi antrian, bisa download disini.

Pastikan tools dan bahan diatas telah terinstal dengan baik dan siap digunakan. Pastikan juga docker-nya sudah berjalan komputer atau laptop kita.

Cara Menjalankan Aplikasi Dengan Docker

Aplikasi yang dijalankan nantinya akan dijadikan sebuah file image, lalu hasil file image tersebut akan dijalankan dalam container docker.

Sekarang extract terlebih dahulu aplikasi antrian yang telah kita download tadi. Kemudian ubah juga nama folder menjadi “Docker-Antrian”, jika tidak diubah juga tidak masalah.

Kemudian buka code editor dan bukalah folder aplikasi antrian yang telah kita extract melalui code editor, sehingga akan tampil seperti gambar berikut:

Jika sudah tampil seperti gambar diatas, kita akan membuat sebuah file dengan nama “Dockerfile” tanpa ekstensi apapun. Pastikan nama file sama persis, jika berbeda maka tidak akan terbaca oleh Docker nantinya.

Dockerile ini berisi perintah-perintah yang diperlukan membuat image. Jika sudah akan tampak file baru “Dockerfile” pada code editor seperti berikut:


Jika sudah tampil seperti gambar diatas, kemudian tambahkan kode ataupun perintah seperti dibawah ini kedalam file “Dockerfile” dan jangan lupa simpan.

# mengambil base image untuk aplikasi antrian
FROM node:16

# Membuat directory aplikasi
WORKDIR /usr/src/app

# meng-copy file .json kedalam directory
COPY package*.json ./

# jalankan npm install
RUN npm install

# meng-copy semua file source code aplikasi kedalam directory
COPY . .

# redirect port
EXPOSE 3000

# menjalankan aplikasi antrian
CMD [ "node", "index.js" ]

Akan tampil seperti gambar dibawah ini:

Sekarang kita akan mengeksekusi Dockerfile, buka terminal pada code editor dan pastikan directory saat ini pada terminal berada dalam folder “Docker-Antrian”. Ketikkan perintah berikut pada terminal dan jalankan.

#  docker build -t dockerantrian .

Perintah diatas akan mem-build image dengan nama ‘dockerantrian’, untuk nama image bisa kita sesuaikan. Pastikan program Docker Desktop pada komputer atau laptop kita telah dijalankan sebelumnya.

Jika behasil menjalankan perintah diatas maka akan muncul seperti dibawah ini:

Sekarang kita sudah berhasil membuat image dengan nama “docker-antrian”, mari kita coba lihat image yang telah kita buat dengan menjalankan perintah berikut pada terminal.

# docker image ls

Maka akan muncul list image yang telah kita buat yaitu “docker-antrian” seperti gambar berikut:

Jika sudah muncul seperti gambar diatas, kita kan lanjut menjalankan file image “docker-antrian” pada container.

Cara menjalankan file image dalam container dapat dikakukan dengan cara mengtikkan perintah seperti berikut.

# docker run -d --name cont-antrian -p 3000:3000 docker-antrian

Parameter “–name cont-antrian” adalah nama container yang kita jalankan, lalu parameter “-p” adalah redirect port dalam container unutk dapat diakses pada host atau komputer kita dan yang terakhir “docker-antrian” merupakan nama file image yang kita jalankan dalam container.

Port 3000 yang pertama mewakili port pada host atau komputer kita, sedangkan port 3000 kedua adalah port dimana aplikasi antrian kita berjalan dalam container.

Jadi saat kita mengakses port 3000 pada host atau komputer maka akan di direct ke port 3000 yang ada dalam container.

Jika kita berhasil mejalankan perintah diatas, maka akan terlihat seperti gambar berikut:

Kita coba ketik perintah  berikut dan jalankan untuk melihat daftar container yang berjalan saat ini.

# docker container ls

Jika sudah maka tampil seperti gambar dibawah ini:

Sekarang kita telah berhasil menjalankan aplikasi antrian kita dalam sebuah container.

Untuk memastikannya kita akan langsung coba buka browser. Kita ketik dan buka pada browser http://localhost:3000.

Jika berhasil, maka akan tampil aplikasi antrian pada browser seperti gambar berikut:

Sekarang kita telah berhasil menjalankan aplikasi antrian dengan menggunakan docker dan mencobanya langsung pada browser.

Berikut beberapa screenshot aplikasi antrian:

Untuk pengujian lanjutan kita bisa lihat pada artikel sebelumnya Implementasi Websocket dan Node.js Pada Aplikasi Antrian, disitu dijelaskan langkah-langkah mengoperasikan aplikasi antrian.

Kita bisa mencoba menjalankan berbagai aplikasi dengan menggunakan docker. Dengan adanya docker akan mempermudah kita untuk mengirimkan aplikasi ke pihak lain karena sudah dijadikan file image.

0 Shares
Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

You May Also Like