WordPress chạy tốt với Docker Compose khi tách ứng dụng và database thành các service. Bài này hướng dẫn cách cấu hình một môi trường phát triển cơ bản và những điểm cần thiết khi đưa lên production.
1. Chuẩn bị
Cần Docker Engine, Docker Compose, một tên miền nếu đưa lên Internet, và file .env chứa mật khẩu mạnh. Không đẩy file mật khẩu lên Git.
2. Cấu hình Compose
services:
db:
image: mariadb:11.8
environment:
MARIADB_DATABASE: wordpress
MARIADB_USER: wordpress
MARIADB_PASSWORD: ${DB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- db_data:/var/lib/mysql
wordpress:
image: wordpress:php8.4-apache
ports:
- "127.0.0.1:8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
WORDPRESS_DB_NAME: wordpress
volumes:
- wp_data:/var/www/html
volumes:
db_data:
wp_data:
Đây là ví dụ tham khảo; cần lưu file .env với DB_PASSWORD và DB_ROOT_PASSWORD trước khi chạy. Không mở port database ra Internet.
3. Khởi chạy
docker compose up -d
docker compose ps
docker compose logs --tail=100 wordpress
4. HTTPS và backup
Đặt Nginx hoặc Traefik trước WordPress để quản lý HTTPS và host. Sao lưu cả database và thư mục uploads; kiểm tra phục hồi định kỳ.
5. Cập nhật
Kiểm tra bản WordPress/PHP tương thích trước khi đổi tag image; giữ backup và thực hiện cập nhật tại staging trước.
Đọc thêm quy trình tự động deploy với GitLab.