Node.js atau NodeJS adalah bahasa pemrograman, atau bisa dibilang aplikasi yang saat ini sedang populer. Banyak cara melakukan deploy NodeJS, salah satunya ke Docker Container. Pada artikel ini kami akan membahas mengenai Cara Deploy Aplikasi NodeJS ke Docker.
Pengertian NodeJS
NodeJS adalah suatu aplikasi website yang berjalan dengan menggunakan bahasa JavaScript. Bisa dibilang sebagai javascript runtime.
Docker
Docker adalah Platform as a Service (PaaS) Open Source yang memungkinkan untuk virtualization di dalam satu server. Pengaturan software beserta file/hal pendukung lainnya akan menjadi sebuah Image (istilah yang diberikan oleh docker). Kemudian sebuah instan dari Image tersebut kemudian disebut Container.
Sebenarnya deploy aplikasi NodeJS ini sama saja, yang membedakannya saat di deploy ke Docker adalah aplikasi kamu berjalan di atas container docker yang ada.
Baca Juga: Cara Deploy Aplikasi Go ke Docker
Persyaratan
Sebelum memulai proses instalasi cara deploy aplikasi NodeJS ke docker, kamu harus memastikan memiliki beberapa persyaratan di bawah ini.
- Memiliki server dengan CentOS 7.
- Memiliki akses sebagai root.
Langkah-Langkah Deploy Aplikasi NodeJS ke Docker
Berikut cara untuk Deploy Aplikasi NodeJS ke Docker:
Step 1 – Install Docker
Kamu harus melakukan instalasi Docker terlebih dahulu, kamu dapat cek artikel berikut untuk referensi instalasinya: Cara Install Docker di CentOS 7
Step 2 – Install NodeJS
Jalankan command di bawah ini supaya dapat melakukan instalasi NodeJS melalui node source.
$ curl –silent –location https://rpm.nodesource.com/setup_4.x | bash –
$ yum install nodejs -y
Step 3 – Create Directory
$ mkdir nodejs
Buat direktori nodejs untuk menaruh file NodeJS dan lakukan inisasi npm.
name: (nodejs)
version: (1.0.0)
description: NodeJS Dewiweb
entry point: (index.js) app.js
test command:
git repository:
keywords:
author: ninja
license: (ISC) MIT
About to write to /root/nodejs/package.json:
{
“name”: “nodejs”,
“version”: “1.0.0”,
“description”: “NodeJS Dewiweb”,
“main”: “app.js”,
“scripts”: {
“test”: “echo \”Error: no test specified\” && exit 1″
},
“author”: “ninja”,
“license”: “MIT”
}
Is this ok? (yes) yes
Kemudian akan dibuat package.json, tambakan express and pasang pada project nodejs tersebut.
$ npm install express –save
Baca Juga: Cara Deploy Aplikasi Java ke Docker
Step 4 – Create app.js
Masih di dalam direktori nodejs, buat file app.js
$ nano app.js
var express = require(‘express’);
var app = express();
app.get(‘/’, function (req, res) {
res.send(‘Hi, this is NodeJS Dewiweb!’);
});
app.listen(3000, function () {
console.log(‘apps running under port 3000!’);
});
Kemudian coba jalankan app.js nya
$ node app.js
Step 5 – Create Dockerfile
Kamu perlu membuat image file yang di dalamnya nanti menggunakan aplikasi nodejs tersebut. Di sini kami menggunakan based image nodejs 11.4.0 yang menggunakan alpine.
$ nano Dockerfile
FROM node:11.4.0-alpine
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
CMD [“node”, “app.js”]
EXPOSE 3000
Instruksi di atas menambah file app.js ke /app, melakukan copy package.json ke /app, menjalankan app.js and mengekspos port.
Baca Juga: Tutorial Docker dalam Bahasa Indonesia
Step 6 – Docker Build
Setelah membuat script Dockerfile, jalankan build nya.
$ docker build -t appnodejs:1.0 .
Step 1/7 : FROM node:11.4.0-alpine
—> f21b938fb1e6
Step 2/7 : WORKDIR /app
—> Using cache
—> 161443b8f90c
Step 3/7 : COPY package.json /app
—> Using cache
—> 476cfe7a3d98
Step 4/7 : RUN npm install
—> Running in a589c4aea2df
Removing intermediate container a589c4aea2df
—> 5eb3db83c113
Step 5/7 : COPY . /app
—> 856c6b782f7b
Step 6/7 : CMD [“node”, “app.js”]
—> Running in 4be107c3d6c6
Removing intermediate container 4be107c3d6c6
—> 3e9412439c75
Step 7/7 : EXPOSE 3000
—> Running in 3550a89a4d3d
Removing intermediate container 3550a89a4d3d
—> 3034489aa327
Successfully built 3034489aa327
Successfully tagged appnodejs:1.0
Di atas ini menunjukan bahwa kamu telah membuat image docker bernama appnodejs.
Untuk melakukan pengecekan docker image dapat menggunakan command di bawah ini.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
appnodejs 1.0 3034489aa327 About a minute ago 76.3MB
Baca Juga: Penggunaan Node.js untuk Pemula, Simple dan Mudah Dipahami
Step 7 – Running Container
Jalankan image yang baru dibuat pada docker container.
$ docker run -d –name appnodejs -p 3000:3000 appnodejs:1.0
Perintah atau command di atas menjalankan container dengan nama appnodejs dan mengeksposnya ke port 3000.
Kamu bisa cek container yang sedang berjalan saat ini dengan command berikut.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a49642463744 appnodejs:1.0 “node app.js” 36 seconds ago Up 35 seconds 0.0.0.0:3000->3000/tcp appnodejs
Kemudian kamu bisa coba akses docker container yang berjalan dengan URL: http://IP-Server:port.
Kesimpulan
Tampilan di atas adalah menandakan bahwa kamu telah berhasil menyelesaikan tutorial Cara Deploy Aplikasi NodeJS ke Docker.
Jika ingin menambahkan script aplikasi yang lain, ikuti step-step di atas.
Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu!