
Docker hỗ trợ rất tốt cho việc triển khai và phát triển WordPress. Bạn có thể sử dụng Docker để thiết lập một môi trường WordPress nhanh chóng, bao gồm cả cơ sở dữ liệu (MySQL hoặc MariaDB) và các dịch vụ khác (như phpMyAdmin). Đây là cách lý tưởng để phát triển hoặc thử nghiệm WordPress mà không cần cài đặt trực tiếp trên máy tính.
Cài đặt Wordpress trên Docker#
1. Tạo Một Môi Trường WordPress Với Docker Compose#

docker-compose.yml
. Dưới đây là ví dụ để chạy WordPress với MySQL:
Bước 1: Tạo File docker-compose.yml
- Tạo một thư mục cho dự án WordPress (ví dụ:
wordpress-docker
). - Trong thư mục đó, tạo file
docker-compose.yml
với nội dung sau:version: '3.8' services: wordpress: image: wordpress:latest ports: - "8080:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: root WORDPRESS_DB_NAME: wordpress volumes: - ./wordpress:/var/www/html db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: wordpress volumes: - db_data:/var/lib/mysql volumes: db_data:
Bước 2: Khởi Chạy Docker Compose
- Mở terminal trong thư mục chứa file
docker-compose.yml
. - Chạy lệnh:
docker-compose up -d
- Sau khi khởi chạy, WordPress sẽ chạy trên địa chỉ: http://localhost:8080.
2. Quản Lý Cơ Sở Dữ Liệu Với phpMyAdmin#
Để quản lý cơ sở dữ liệu dễ dàng hơn, bạn có thể thêm phpMyAdmin vàodocker-compose.yml
:
Bổ sung phpMyAdmin
Cập nhật filedocker-compose.yml
:
services:
wordpress:
# Cấu hình WordPress như trên...
db:
# Cấu hình MySQL như trên...
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8081:80"
environment:
PMA_HOST: db
PMA_USER: root
PMA_PASSWORD: root
Khởi chạy lại Docker Compose:
docker-compose up -d
Bây giờ, bạn có thể truy cập phpMyAdmin tại http://localhost:8081.

3. Lợi Ích Khi Dùng Docker Cho WordPress#
- Nhanh chóng: Tạo và chạy môi trường WordPress chỉ với một vài lệnh.
- Nhất quán: Môi trường chạy đồng nhất trên các máy khác nhau.
- Dễ dàng thử nghiệm: Tạo nhiều phiên bản WordPress để kiểm thử tính năng hoặc plugin mà không làm ảnh hưởng môi trường chính.
- Di động: Có thể chia sẻ cấu hình
docker-compose.yml
với đội ngũ phát triển.
4. Mở Rộng Với Các Công Cụ Khác#
- Redis Cache: Tích hợp Redis để tăng tốc WordPress.
- ElasticSearch: Kết hợp ElasticSearch để cải thiện tính năng tìm kiếm.
- Backup Dữ Liệu: Sử dụng Docker volumes để lưu trữ dữ liệu, dễ dàng sao lưu và phục hồi.
Ví Dụ Thực Tế#
- Phát Triển Plugin hoặc Theme:
- Tạo môi trường WordPress nhanh chóng trên Docker.
- Gắn thư mục plugin hoặc theme của bạn vào container để phát triển.
- Kiểm Thử Nhiều Phiên Bản PHP:
- Thử nghiệm WordPress trên các phiên bản PHP khác nhau (ví dụ, 7.4 và 8.1) bằng cách sử dụng các container độc lập.
- Đào Tạo:
- Thiết lập môi trường WordPress nhanh chóng cho học viên trong các khóa học hoặc hội thảo.
Data của Wordpress Docker lưu ở đâu?#
Dữ liệu của phpMyAdmin trong môi trường Docker của WordPress không được lưu trực tiếp bởi phpMyAdmin. Thay vào đó, phpMyAdmin là một công cụ quản lý cơ sở dữ liệu và truy cập dữ liệu được lưu trữ trong container của MySQL hoặc MariaDB. Dưới đây là cách kiểm tra và tìm nơi lưu trữ dữ liệu:1. Dữ liệu MySQL/MariaDB được lưu trữ ở đâu?#
Dữ liệu của MySQL/MariaDB trong Docker thường được lưu ở một trong hai nơi:a. Trong container MySQL/MariaDB (storage nội bộ)
Khi bạn không cấu hình volume để lưu dữ liệu bên ngoài, MySQL/MariaDB sẽ lưu dữ liệu trong thư mục nội bộ của container. Thư mục mặc định:/var/lib/mysql
Bạn có thể kiểm tra bằng cách vào container MySQL:
docker exec -it [mysql_container_id] bash
ls /var/lib/mysql
b. Trong volume Docker (storage bên ngoài)
Nếu bạn đã cấu hình volume, dữ liệu sẽ được lưu trong một thư mục trên máy chủ Docker. Volume được định nghĩa trong lệnhdocker run
hoặc file docker-compose.yml
.
- Kiểm tra volume Docker: Liệt kê volume:
Xem thông tin chi tiết:docker volume ls
Bạn sẽ thấy thư mục lưu trữ thực tế trên hệ thống host, ví dụ:docker inspect [volume_name]
"Source": "/var/lib/docker/volumes/[volume_name]/_data"
2. Trường hợp dùng Docker Compose#
Nếu bạn sử dụng docker-compose.yml để khởi chạy WordPress, phần cấu hình volume trongmysql
hoặc mariadb
service sẽ chỉ định nơi lưu trữ dữ liệu.
Ví dụ:
services:
db:
image: mysql:latest
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
Trong trường hợp này:
- Volume tên
db_data
sẽ được lưu ở:/var/lib/docker/volumes/db_data/_data
trên máy chủ Docker.
3. Cách truy cập dữ liệu trong phpMyAdmin#
phpMyAdmin không lưu trữ dữ liệu, mà chỉ quản lý cơ sở dữ liệu được kết nối. Để xem hoặc xuất dữ liệu:- Đăng nhập phpMyAdmin qua trình duyệt (thường qua
http://localhost:8080
). - Sử dụng tài khoản MySQL/MariaDB để truy cập.
- Thao tác với cơ sở dữ liệu bạn cần.
4. Cách sao lưu dữ liệu MySQL/MariaDB#
Bạn có thể sao lưu dữ liệu MySQL/MariaDB để sử dụng lại hoặc di chuyển:- Dùng Docker CLI:
docker exec [mysql_container_id] mysqldump -u root -p [database_name] > backup.sql
- Sao lưu từ phpMyAdmin:
- Mở phpMyAdmin.
- Chọn cơ sở dữ liệu cần sao lưu.
- Chọn Export và tải xuống file
.sql
.
5. Tóm lại#
- phpMyAdmin không lưu dữ liệu – nó chỉ truy cập dữ liệu được lưu trong MySQL/MariaDB.
- Dữ liệu MySQL/MariaDB được lưu ở:
/var/lib/mysql
trong container.- Hoặc thư mục trên host được gắn qua Docker volume.
Nội dung bài viết
- Cài đặt Wordpress trên Docker
- 1. Tạo Một Môi Trường WordPress Với Docker Compose
- 2. Quản Lý Cơ Sở Dữ Liệu Với phpMyAdmin
- 3. Lợi Ích Khi Dùng Docker Cho WordPress
- 4. Mở Rộng Với Các Công Cụ Khác
- Ví Dụ Thực Tế
- Data của Wordpress Docker lưu ở đâu?
- 1. Dữ liệu MySQL/MariaDB được lưu trữ ở đâu?
- 2. Trường hợp dùng Docker Compose
- 3. Cách truy cập dữ liệu trong phpMyAdmin
- 4. Cách sao lưu dữ liệu MySQL/MariaDB
- 5. Tóm lại