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.
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