Setup Docker Khusus WordPress/Laravel

Berikut setup Docker khusus WordPress dan Laravel yang siap pakai (level teknis, bisa langsung kamu jalankan). Saya buatkan dua versi terpisah agar lebih jelas dan fleksibel.


1. Setup Docker untuk WordPress

Menggunakan:

  • Nginx
  • PHP-FPM
  • MySQL

Struktur Folder

 
wordpress-docker/
│
├── docker-compose.yml
├── nginx/
│ └── default.conf
└── src/ (isi WordPress nanti)
 

File: docker-compose.yml

 
version: ‘3.8’

services:
nginx:
image: nginx:latest
ports:
– “8080:80”
volumes:
– ./src:/var/www/html
– ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
– php
– db

php:
image: php:8.2-fpm
volumes:
– ./src:/var/www/html

db:
image: mysql:8
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: secret
ports:
– “3307:3306”

phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
– “8081:80”
environment:
PMA_HOST: db
 

File: nginx/default.conf

 
server {
listen 80;
server_name localhost;

root /var/www/html;
index index.php index.html;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
 

Cara Menjalankan

  1. Download WordPress ke folder src
  2. Jalankan:
 
docker-compose up -d
 
  1. Akses:

2. Setup Docker untuk Laravel

Menggunakan:

  • Nginx
  • PHP-FPM
  • MySQL
  • Composer

Struktur Folder

 
laravel-docker/
│
├── docker-compose.yml
├── nginx/
│ └── default.conf
└── src/ (isi project Laravel)
 

File: docker-compose.yml

 
version: ‘3.8’

services:
app:
image: php:8.2-fpm
container_name: laravel_app
volumes:
– ./src:/var/www
working_dir: /var/www

nginx:
image: nginx:latest
container_name: laravel_nginx
ports:
– “8000:80”
volumes:
– ./src:/var/www
– ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
– app

db:
image: mysql:8
container_name: laravel_db
restart: always
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: root
ports:
– “3308:3306”

composer:
image: composer:latest
container_name: laravel_composer
volumes:
– ./src:/var/www
working_dir: /var/www
 

File: nginx/default.conf

 
server {
listen 80;
server_name localhost;

root /var/www/public;
index index.php index.html;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
fastcgi_pass app:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Cara Setup Laravel

1. Install Laravel

 
docker-compose run –rm composer create-project laravel/laravel .
 

2. Jalankan Container

 
docker-compose up -d
 

3. Setting Database (.env)

 
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
 

4. Generate Key

 
docker-compose exec app php artisan key:generate
 

5. Akses

http://localhost:8000


Perbandingan WordPress vs Laravel di Docker

AspekWordPressLaravel
SetupLebih cepatLebih teknis
StrukturCMSFramework
Cocok untukWebsite cepatAplikasi kompleks
Docker complexityRendahMenengah

Tips Pro (Penting)

1. Gunakan Volume dengan Bijak

Agar data tidak hilang:

 
volumes:
db_data:
 

2. Gunakan .env untuk keamanan

Jangan hardcode password di docker-compose.


3. Gunakan Docker untuk Production

Dengan Docker kamu bisa:

  • deploy ke VPS
  • scaling
  • CI/CD pipeline

Insight Advanced (Level Bisnis / SaaS)

Kombinasi terbaik:

  • Dev cepat → Laragon
  • Production → Docker

Bahkan kamu bisa:
👉 Auto deploy dari Laragon ke Docker (CI/CD sederhana)

Bikin Soal ExamView Nggak Pakai Ribet: Panduan Import dari File Word untuk Dev & Edukator

Bikin Soal ExamView Nggak Pakai Ribet: Panduan Import dari File Word untuk Dev & Edukator Sebagai orang yang akrab dengan dunia pemrograman dan efisiensi teknologi, melihat pekerjaan copy-paste manual satu per satu terasa sangat tidak efisien. Bayangkan harus memasukkan 100 soal ke ExamView Test Generator dengan cara klik new question, ketik soal, ketik opsi A,

Read More »

Aplikasi Website Akuntansi Usaha

Aplikasi Web Akuntansi dengan data input dan laporan akuntansi lengkap beserta ekspor laporan dalam format PDF dan Excel Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap

Read More »

Aplikasi Web Absensi Karyawan By Scan QR

Aplikasi Web Absensi dengan sistem input manual dan Scan QR serta laporan absensi lengkap beserta ekspor laporan dalam format PDF dan Excel Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak

Read More »

Paket Aplikasi Toko Online

Aplikasi Web Toko Online Harga : Rp.1.500.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap tahun Kembali Menu Depan

Read More »

Paket Aplikasi Inventory

Aplikasi Web Inventory Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap tahun Kembali Ke Menu

Read More »

Paket Absen Sekolah

Aplikasi Web Absen Sekolah Harga : Rp.1.200.000Keunggulan:* Gratis Hosting dan Domain * Gunakan Penyimpanan Google Drive * Kapasitas Penyimpanan 15 GB*Aplikasi Ringan dan tidak memerlukan memori banyak* Tidak memerlukan Instalasi * Aplikasi Web dibuka melalui link* Tidak memerlukan biaya perpanjangan tiap tahun Klik di sini

Read More »