Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Cara Membuat Image Docker untuk Next.JS

Posted on May 12, 2024 by syauqi wiryahasana

Docker adalah platform sumber terbuka yang memanfaatkan teknologi kontainerisasi untuk mempermudah proses pembuatan, penyebaran, dan pengoperasian aplikasi dengan menggunakan kontainer. Kontainer memungkinkan pengembang untuk mengemas semua komponen yang dibutuhkan oleh sebuah aplikasi, seperti pustaka dan dependensi lainnya, menjadi satu paket yang dapat dijalankan secara konsisten di berbagai lingkungan.

Kontainer Docker: Merupakan paket yang ringan, mandiri, dan dapat dieksekusi yang mencakup segala hal yang diperlukan untuk menjalankan sebuah perangkat lunak, termasuk kode, runtime, pustaka, variabel lingkungan, dan file konfigurasi.

Image Docker: Merupakan blueprint untuk membuat kontainer Docker. Image adalah file yang tidak dapat diubah yang berisi instruksi untuk membuat versi aplikasi yang lengkap dan dapat dieksekusi.

Langkah-langkah Membuat Image Next.js dengan Docker:

  1. Buat Dockerfile: Di direktori utama proyek Next.js Anda, buat file bernama Dockerfile dengan konten berikut:
# Gunakan gambar Alpine Node.js 18 yang ringan
FROM node:18-alpine

# Atur variabel lingkungan dengan nilai default untuk produksi
ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}

# Tentukan direktori kerja
WORKDIR /app

# Salin dan instal dependensi
COPY package*.json ./
RUN if [ "$NODE_ENV" = "development" ]; \
        then npm install; \
        else npm install --only=production; \
    fi

# Salin kode aplikasi
COPY . .

# Bangun aplikasi dalam mode produksi
RUN if [ "$NODE_ENV" = "production" ]; \
        then npm run build; \
    fi

# Terapkan port 3000
EXPOSE 3000

# Tentukan perintah untuk memulai aplikasi
CMD if [ "$NODE_ENV" = "development" ]; \
        then npm run dev; \
        else npm start; \
    fi
  1. Membangun dan Menjalankan Kontainer Docker:

Untuk membangun dan menjalankan kontainer Docker, gunakan perintah berikut di terminal:

Lingkungan Pengembangan:

docker build --build-arg NODE_ENV=development -t my-nextjs-app-dev .
docker run -p 3000:3000 -v $(pwd):/app my-nextjs-app-dev

Lingkungan Implementasi:

docker build -t my-nextjs-app-prod .
docker run -p 3000:3000 my-nextjs-app-prod
  1. Menghentikan Kontainer Docker:
docker stop <nama-kontainer>

Cara Mengunggah Image Docker ke Docker Hub:

  1. Login ke Docker Hub:
docker login
  1. Tag Image Docker:
docker tag my-nextjs-app yourusername/my-nextjs-app:latest
  1. Unggah Image ke Docker Hub:
docker push yourusername/my-nextjs-app:latest

Dengan demikian, Anda sekarang dapat melakukan implementasi aplikasi Next.js Anda menggunakan kontainer Docker. Ini adalah cara yang efektif untuk memastikan konsistensi di berbagai lingkungan dan menyederhanakan proses implementasi aplikasi.

Terbaru

  • Apa itu Cryptobiosis dan Contohnya
  • 5 Laptop Paling Produktif: Multitasking Lancar, Baterai Awet!
  • Apa itu Kepulauan Chagos? (Milik Inggris atau Mauritius?)
  • Apa itu Kiwano atau Melon Berduri (Cucumis Metuliferus)?
  • Apakah Paganisme itu Agama?
  • Perbaiki Kebodohannya, Pemerintah Buka Lagi Akses Ke Situs archive.org
  • Kenapa Disebut Ilmuwan Muslim, Bukan Ilmuwan Arab atau Ilmuwan Persia?
  • Indonesia Prasejarah, Benarkah Se-kaya itu?
  • Apa itu Bilangan Aleph ?
  • Jejak Aneh Nisan Makam Gaya Aceh di Pangkep Sulawesi Selatan
  • Rasa’il Ikhwan al-Shafa Fondasi Matematika dalam Filsafat Islam
  • Review Aplikasi Melolo, Saingan Berat Dramabox!
  • Review Game Dislyte: Petualangan Urban Myth yang Seru!
  • Microsoft Resmikan Cloud Region Pertama di Indonesia, Pacu Pertumbuhan AI
  • Bagaimana Bisa Xiaomi Jadi Raja dibanyak Sektor?
  • Sejarah Tokoh Judi Negara: Robby Sumampow
  • Kenapa Hongkong Mulai Kehilangan Anak Mudanya?
  • Apakah China ada Peternakan Panda?
  • Kebohongan Ajudan Bung Karno Soal Letkol Untung Habisi Para Jenderal?
  • Apakah Harga Minyak Dunia Turun Bikin OPEC Bangkrut?
RSS Error: WP HTTP Error: cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to blog.emka.web.id:443
  • Apa itu Cryptobiosis dan Contohnya
  • 5 Laptop Paling Produktif: Multitasking Lancar, Baterai Awet!
  • Apa itu Kepulauan Chagos? (Milik Inggris atau Mauritius?)

©2025 emka.web.id | Design: Newspaperly WordPress Theme