Mengkontainerisasi Aplikasi dengan Dockerfile

Apa itu Dockerfile?

Dockerfile adalah sebuah file teks yang berisi sekumpulan instruksi untuk membangun sebuah image Docker. Image ini kemudian dapat digunakan untuk menjalankan container. Setiap instruksi dalam Dockerfile merepresentasikan sebuah layer dalam image.

Contoh Dockerfile Sederhana untuk Aplikasi Node.js:

# Menggunakan Node.js versi 18 sebagai base image
FROM node:18-alpine

# Set working directory dalam container
WORKDIR /app

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

# Install dependencies
RUN npm install

# Copy sisa kode sumber
COPY . .

# Expose port 3000
EXPOSE 3000

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

Penjelasan Setiap Instruksi:

  • FROM node:18-alpine: Menggunakan image Node.js versi 18 sebagai basis. Alpine Linux dipilih karena ukurannya yang kecil.

  • WORKDIR /app: Menentukan direktori kerja dalam container.

  • COPY package.json ./:* Menyalin file package.json dan package-lock.json ke dalam direktori kerja.

  • RUN npm install: Menginstal dependensi yang terdefinisi dalam package.json.

  • COPY . .: Menyalin semua file dari direktori lokal ke dalam direktori kerja container.

  • EXPOSE 3000: Mendefinisikan port yang akan di-expose oleh container.

  • CMD [ "node", "index.js" ]: Menentukan perintah yang akan dijalankan saat container dimulai.

Cara Membangun Image:

Bash

Use code with caution.

Perintah di atas akan membangun image Docker dengan tag my-node-app dari Dockerfile yang berada di direktori saat ini.

Cara Menjalankan Container:

Perintah di atas akan menjalankan container dari image my-node-app dan me-mapping port 3000 di container ke port 3000 di host.

Contoh Lain: Aplikasi Python dengan Flask

Last updated