Matawebsite Promo Lebaran 2022

Membuat dan Menjalankan Aplikasi Node js Menggunakan Docker

date 16 Jul 2021
date Sulfikardi
date 1974
date Web Programming
Membuat dan Menjalankan Aplikasi Node js Menggunakan Docker

Docker adalah aplikasi open source untuk menyatukan file-file yang dibutuhkan sebuah software sehingga menjadi menjadi satu kesatuan yang lengkap dab berfungsi. Data pengaturan dan file pendukung disebut sebagai image. Selanjutnya kumpulan image digabung dalam satu wadah yang disebut Container.


Dengan menggunakan docker para developer dapat mengembangkan aplikasi mereka agar dapat berjalan fleksibel di berbagai lingkungan. Kemampuan yang dimiliki Docker yaitu mampu menjalankan berbagai macam aplikasi dengan konfigurasi sistem yang berbeda-beda, meskipun masih dalam satu perangkat komputer atau server.


Pada kesempatan kali ini kita akan membuat aplikasi Nodejs sederhana dan menjalankannya menggunakan docker container.

Langkah pertama, buatlah directory baru untuk tempat aplikasi kita akan disimpan. Lalu buatlah file dengan nama package.json untuk management dependecies aplikasi kita.
 

{

  "name": "nodejs",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1",

    "start": "node index.js"

  },

  "author": "",

  "license": "ISC"

}

Lalu jalankan perintah npm install, untuk menginstall dependesi yang dibutuhkan.

Atau bisa juga dengan menjalankan perintah npm init, untuk melakukan inisialisasi Nodejs aplikasi anda, lalu ikuti prosesnya sampai selesai.

Selanjutnya, buat file index.js sebagai root aplikasi anda.

const http = require('http');

 

const hostname = '127.0.0.1';

const port = 3000;

 

const server = http.createServer((req, res) => {

  res.statusCode = 200;

  res.setHeader('Content-Type', 'text/plain');

  res.end('Hello, World!\n');

});

server.listen(port, hostname, () => {

  console.log(`Server running at http://${hostname}:${port}/`);

});

Aplikasi sederhana kita selesai dibuat, dan kita akan menjalankan aplikasi tersebut menggunakan docker container. 

Untuk dapat menjalankan aplikasi kita menggunakan docker container, kita harus build aplikasi kita menjadi docker image.

Membuat Dockerfile

Dockerfile merupakan script file yang akan dijalankan saat melakukan build image.

Pertama, buat file dengan nama Dockerfile, lalu buka file tersebut menggunakan text editor.

FROM node:14

 

# Create app directory

WORKDIR /usr/src/app

# Install app dependencies

COPY package*.json ./

 

RUN npm install

# If you are building your code for production

# Bundle app source

COPY . .

EXPOSE 3000

CMD [ "npm", "start" ]


Sedikit penjelasan tentang script diatas, pertama, dia akan mendownload image Nodejs dari docker hub, lalu didalam image akan dibuat direktori sebagai penyimpanan aplikasi kita dan dilanjutkan dengan mengcopy semua file aplikasi kita kedalam image, lalu script akan menjalankan npm install untuk menginstall dependensi yang ada, lalu kita mengespose port yang akan digunakan oleh aplikasi kita. Lalu terakhir script akan menjalankan command untuk menjalankan aplikasi kita.

Selanjutnya, kita jalankan perintah untuk melakukan build image

docker build . -t <image-name>

Jika proses build sudah selesai, anda dapat mengecek image aplikasi kita dengan perintah

$ docker images

# Example
REPOSITORY                      TAG        ID              CREATED
node                            14         1934b0b038d1    5 days ago
<image-name>                   latest     d64d3505b0d2    1 minute ago

kita dapat menjalankan aplikasi kita dengan perintah berikut

docker run -p 49160:8080 -d <image-name>

untuk mengecek apakah aplikasi kita sudah berjalan dengan baik, kita dapat mengaksesnya dari browser atau menggunakan curl. 

Matawebsite Promo
sul.png

Sulfikardi

Web Design & Web Programming

Halo, saya seorang Web Developer yang terbiasa mengembangkan website menggunakan HTML, CSS, Javascript, PHP, MYSQL, dan Laravel. Disini saya akan membagikan pengalaman saya dalam membangun dan mengembangan website yang responsif dan dinamis

Artikel Populer

Halo, ada yang bisa kami bantu?
Daftar Sekarang