Build thư mục source code cho WordPress ở máy tính local
Để chạy WordPress bằng docker ở localhost thay cho XAMPP khá đơn giản.
- Đầu tiên tạo 1 file docker-compose.yml với cấu hình file như sau:
- Thay đổi các thông tin cấu hình như Password user, password wordpress theo cá nhân.
- Mở cmd hoặc powershell vào thư mục chưa file docker-compose.yml
- Chạy lệnh cài đặt wordpress bằng docker-compose
docker-compose up -d
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- ./db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wordpress:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress: {}
Sửa lỗi “Liên kết bạn theo dõi đã hết hạn” docker
Lỗi này xảy ra do cấu hình upload-max-size của php trong docker images quá nhỏ. Chúng ta cần mở rộng cấu hình upload cho PHP.
Ở đây khi cài themes cho website thì mình gặp trường hợp lỗi “Liên kết bạn theo dõi đã hết hạn”. Đầu tiên tạo 1 file uploads.ini nằm ngang trong thư mục chứa file docker-compose.yml.
file_uploads = On
memory_limit = 500M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 600
Sau đó thêm dòng định nghĩa volumes cho upload.ini trong file docker_compose.yml
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
Kết quả trong file docker-compose.yml ta được như sau:
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- ./db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wordpress:/var/www/html
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress: {}
Tiếp theo kill docker-compose đang chạy với lệnh
docker-compose kill
Cuối cùng là build lại docker-compose với option –build
docker-compose up -d --build
Sửa lỗi “Liên kết bạn theo dõi đã hết hạn” khi upload themes với docker
Cách khác để sửa lỗi trên là chúng ta có thể truy cập trực tiếp vào docker container để thay đổi.
Truy cập vào docker CLI bằng command
docker exec -it <container_id> /bin/bash
Xem file php.ini ở đâu trên hệ thống bằng lệnh
php --ini
# php --ini
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File: (none)
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed: /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini,
/usr/local/etc/php/conf.d/docker-php-ext-exif.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-imagick.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,
/usr/local/etc/php/conf.d/docker-php-ext-opcache.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini,
/usr/local/etc/php/conf.d/error-logging.ini,
/usr/local/etc/php/conf.d/opcache-recommended.ini
Sau đó thì ta vào file ini tại đường dẫn trên và sửa lại các cấu hình mong muốn là được
Liên quan đến upload của php thì thay đổi các thông tin bên dưới trong file php.ini
file_uploads = On
memory_limit = 500M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 600
Tham khảo: https://docs.docker.com/samples/wordpress/