Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Membuat Image Docker untuk Next.JS

Posted on May 12, 2024

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

  • Inilah Alasan Kenapa Suno Batasi Download, Mau Pindah Platform atau Terus Langganan?
  • Mengenal Apa itu Ansible
  • Cara Memilih Paket Diamond Mobile Legends Sesuai Kebutuhan dan Budget
  • Laptop Bisnis dengan Fitur Perlindungan BIOS Terbaik dari Ancaman Siber
  • Kenapa Amerika Melarang Produk Robot Vacuum Cleaner & Produk Robot Lain?
  • Rayap sebagai Tanda Ada Masalah Kelembapan di Bangunan
  • Beli HP Bekas Flagship Oppo? Ini 3 Rekomendasi Terbaik yang Masih Gahar di 2026
  • Cuma 1 Jutaan! Ini 4 Rekomendasi HP POCO yang Performa Tetap Gila di 2026
  • Inilah Rekomendasi Laptop 5-6 Jutaan Paling Worth It di Pertengahan 2026, Spek Mewah Harga Ramah!
  • Inilah Deretan Smartphone Snapdragon 8s Gen 4 yang Bikin Kompetisi HP Menengah Atas Makin Panas!
  • Mengenal Otak di Balik AI: Apa Itu LLM dan Manfaatnya dalam Keseharian Kita Menurut Sebastian Raschka
  • Inilah Rahasia Spasi FF Salin Biar Nickname Kalian Makin Keren dan Unik Tanpa Aplikasi Tambahan
  • Rekomendasi HP Kamera Bagus 2-6 Jutaan Bulan Juli 2026
  • Cuma 2 Jutaan! Ini 6 Rekomendasi HP Paling Worth It Buat Multitasking dan Gaming Ringan
  • Rumor Galaxy Z Flip8 Jadi Seri Terakhir: Mengapa Samsung Mungkin Berhenti Bikin HP Lipat Clamshell?
  • Inilah Cara Registrasi Kartu SIM Pakai Verifikasi Biometrik Mulai 1 Juli 2026, Gak Bisa Lagi Pake Nomor Bodong!
  • Jangan Asal Lap! Inilah Cara Membersihkan Layar TV LED yang Benar Agar Tidak Rusak
  • Realme Narzo 100x 5G Segera Rilis: Baterai 8.000mAh, Layar 144Hz, dan Sertifikasi Militer
  • Waspada Penipuan Akun Mobile Legends: Kenali Pentingnya Marketplace Resmi dan Status PSE
  • Review DJI Osmo Pocket 4P: Kamera Saku Lensa Ganda yang Bikin Kamera Pro Kelihatan Ribet!
  • Samsung Bisa “AirDrop” ke iPhone? Cek Cara Pakai Fitur Quick Share Terbaru Ini!
  • Vivo X Fold 6 Bakal Masuk Indonesia? Speknya Gila, Baterai 7.000 mAh & Kamera 200 MP!
  • Bocoran iPhone Air 2: Akhirnya Apple Nggak Cuma Jual Tipis, Tapi Juga Baterai Awet dan Kamera Oke!
  • Google Search Console rilis fitur Social Media Property, bisa pantau TikTok & Instagram
  • Hati-hati! 22 Platform Digital Terancam Diblokir Pemerintah, Cek Daftar Hotel dan Maskapainya di Sini
  • Baterai 7.000mAh & Standar Militer, Inilah Moto G77 Power
  • Inilah Cara Shopee dan Meta Bikin Kalian Makin Gampang Dapat Cuan Afiliasi Instagram Tanpa Ribet
  • Gila Sih! Vivo Rilis HP Baterai 8.000 mAh di 2026, Nggak Perlu Ribet Bawa Powerbank Lagi?
  • Infinix Hot 70 vs Tecno Spark 50: Pilih Baterai Jumbo 7000 mAh atau Fast Charging 45W di Harga 2 Jutaan?
  • Gak Perlu HP Mahal buat Pake AI: Intip Fitur Canggih di Samsung Galaxy A37 dan A57 yang Bikin Hidup Lebih Gampang
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • How to Hardening Journald on Linux Server (Fedora/AlmaLinux)
  • Block Bad USB on Linux Server with USBGuard
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
  • How to create viral AI video ads and complete brand assets using the Claude and Higgsfield MCP integration
  • How to Transform Your Mac Into a Supercharged AI Assistant with Perplexity Personal Computer
  • Lagi rame pemain Free Fire bingung pas mau pake FJB EPEP, ada yang error email not binded sampe OTP mboten mlebu
  • Lagi rame di medsos, cara bikin paper squishy butter sendiri di rumah cuma modal kertas sama selotip
  • Sinetron Asmara Gen Z beneran tamat pekan ini? Ini jadwal episode terakhir dan penggantinya di SCTV
  • Lagi rame istilah DAPIN di medsos, apa sih artinya dan kenapa harus waspada?
  • Waspada macet Senayan hari ini, ada Persija vs Persib, Indonesia Sports Summit, sampai Diskoria di GBK

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