Lompat ke konten
Beranda » Setup Docker Khusus WordPress/Laravel

Setup Docker Khusus WordPress/Laravel

  • oleh

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)

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *