Docker - Pengaturan Node.js: Panduan untuk Pemula

Hai teman-teman yang sedang belajar! Hari ini, kita akan memulai sebuah perjalanan menarik ke dunia Docker dan Node.js. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya disini untuk mengajak Anda dalam petualangan ini langkah demi langkah. Jangan khawatir jika Anda baru saja memulai programming – kita akan mulai dari dasar dan kemudian naik tingkat. Jadi, ambillah secangkir kopi (atau teh, jika itu yang Anda sukai), dan mari kita masuk ke dalam!

Docker - Setting Node.js

Apa Itu Docker?

Sebelum kita masuk ke detailnya, mari bicarakan tentang Docker. Bayangkan Anda pindah ke rumah baru. Daripada memasukkan semua barang Anda ke dalam kotak berbentuk dan ukuran yang berbeda, apa bila Anda dapat memasukkan semua milik Anda ke dalam kontainer standar yang pas sempurna di setiap truk atau kapal? Itu sebenarnya apa yang Docker lakukan bagi software!

Docker adalah platform yang memungkinkan Anda memasukkan aplikasi Anda dan semua dependensinya ke dalam unit standar yang disebut kontainer. Kontainer ini dapat berjalan konsisten di setiap sistem, membuatnya mudah untuk mengembangkan, mengirimkan, dan menjalankan aplikasi.

Mengapa Menggunakan Docker dengan Node.js?

Sekarang, Anda mungkin berpikir, " Mengapa harus khawatir dengan Docker untuk aplikasi Node.js saya?" Mari saya ceritakan kecil.

Pada suatu waktu, ada seorang pengembang bernama Sarah. Dia membuat aplikasi Node.js yang fantastik di laptopnya. Itu bekerja dengan sempurna! Tetapi ketika dia mencoba menjalankan itu di server timnya, itu mogok. Masalahnya apa? Versi Node.js yang berbeda dan beberapa dependensi yang hilang. Sarah membuang waktu beberapa hari mencoba memperbaikinya.

Jika Sarah menggunakan Docker, dia bisa menghindari kesulitan ini. Docker memastikan bahwa aplikasi Anda berjalan dalam lingkungan yang sama di mana saja – baik itu laptop Anda, desktop rekan Anda, atau server di awan.

Pengaturan Docker untuk Node.js

Baiklah, mari kita roll up lengan dan mulai setup yang nyata!

Langkah 1: Install Docker

Pertama-tama, kita perlu menginstall Docker di mesin kita. Pergi ke website Docker dan unduh Docker Desktop untuk sistem operasi Anda. Ikuti panduan instalasi, dan Anda siap untuk maju!

Langkah 2: Buat Aplikasi Node.js

Mari kita buat aplikasi Node.js sederhana untuk dikontainerisasi. Buat direktori baru untuk proyek Anda dan navigasikan ke dalamnya:

mkdir my-node-app
cd my-node-app

Sekarang, buat file package.json sederhana:

npm init -y

Perintah ini membuat file package.json dasar dengan nilai default. Selanjutnya, install Express, kerangka kerja Node.js yang populer:

npm install express

Sekarang, buat file app.js dan tambahkan kode berikut:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
res.send('Hello, Docker!');
});

app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`);
});

Aplikasi sederhana ini membuat server web yang menjawab "Hello, Docker!" saat Anda mengunjungi URL utama.

Langkah 3: Buat Dockerfile

Sekarang, mari kita ke bagian menarik – membuat Dockerfile! Dockerfile adalah seperti resep yang memberitahu Docker bagaimana membangun kontainer kita. Buat file Dockerfile (tanpa ekstensi) di direktori proyek Anda dan tambahkan berikut:

# Gunakan runtime Node.js resmi sebagai gambar induk
FROM node:14

# Setel direktori kerja di dalam kontainer
WORKDIR /usr/src/app

# Copy package.json dan package-lock.json
COPY package*.json ./

# Install dependensi
RUN npm install

# Copy sisanya kode aplikasi
COPY . .

# Buat port 3000 tersedia di luar kontainer
EXPOSE 3000

# Tentukan perintah untuk menjalankan aplikasi
CMD [ "node", "app.js" ]

mari kitauraikan ini:

  • FROM node:14: Ini menentukan gambar induk kita – dalam hal ini, Node.js versi 14.
  • WORKDIR /usr/src/app: Ini menyetel direktori kerja di dalam kontainer.
  • COPY package*.json ./: Ini menyalin file package.json kita ke dalam kontainer.
  • RUN npm install: Ini menginstall dependensi kita di dalam kontainer.
  • COPY . .: Ini menyalin semua kode aplikasi kita ke dalam kontainer.
  • EXPOSE 3000: Ini menampilkan port 3000 untuk diakses di luar kontainer.
  • CMD [ "node", "app.js" ]: Ini menentukan perintah untuk menjalankan aplikasi kita.

Langkah 4: Bangun dan Jalankan Kontainer Docker

Sekarang kita memiliki Dockerfile, mari kita bangun gambar Docker kita:

docker build -t my-node-app .

Perintah ini membangun gambar Docker dan menandainya sebagai my-node-app. Tanda . di akhir memberitahu Docker untuk mencari Dockerfile di direktori saat ini.

Setelah bangun selesai, kita dapat menjalankan kontainer kita:

docker run -p 3000:3000 my-node-app

Perintah ini menjalankan kontainer kita dan memetakan port 3000 di kontainer ke port 3000 di mesin tuan rumah.

Selamat! Anda sekarang dapat mengunjungi http://localhost:3000 di browser Anda dan melihat "Hello, Docker!"

Perintah Docker Umum

Berikut adalah tabel praktis dari beberapa perintah Docker yang Anda temui berguna:

Perintah Deskripsi
docker build Bangun gambar Docker dari Dockerfile
docker run Jalankan kontainer Docker
docker ps Daftar kontainer yang sedang berjalan
docker stop Hentikan kontainer yang sedang berjalan
docker rm Hapus kontainer
docker images Daftar gambar Docker
docker rmi Hapus gambar Docker
docker logs Lihat log untuk kontainer

Kesimpulan

Dan itu adalah nya, teman-teman! Kita telah berhasil mengatur aplikasi Node.js menggunakan Docker. Kita telah belajar apa itu Docker, mengapa itu berguna, dan bagaimana membuat dan menjalankan kontainer Docker untuk aplikasi Node.js.

Ingat, seperti belajar keterampilan baru, menguasai Docker memerlukan latihan. Jangan frustasi jika hal-hal tidak berjalan sempurna pertama kali. Terus mencoba, dan sebelum Anda sadari, Anda akan menjadi ahli dalam mengkontainerisasi aplikasi!

Saat kita selesai, saya ingin berbagi rahasia kecil dengan Anda. Ketika saya pertama kali memulai dengan Docker, saya secara tidak sengaja mengetik docker run instead of docker build dan menghabiskan satu jam mencoba untuk mengetahui mengapa perubahan saya tidak muncul. Kita semua membuat kesalahan – itu bagaimana kita belajar!

Terus mengoding, terus belajar, dan terutama, bersenang-senang dengan itu! Sampai jumpa lagi, selamat dockerizing!

Credits: Image by storyset