Docker – Config Docker Trên WordPress

465
Config Docker Trên WordPress

Người viết: Hung Pham

Bởi vì mình là fan của Wordpress nên hôm nay mình sẽ chia sẻ cho các anh em một tutorial nho nhỏ về vấn đề config Docker trên WordPress.

Qua bài viết này mình nghĩ nó sẽ giúp các anh em có thể bổ sung thêm cho mình vài kiến thức về Docker, cách vận hành của Docker, cách sử dụng Laradock và một tí kiến thức về Devops.

Tại Sao WordPress Lại Cần Docker?

  • Dễ dàng deploy và di chuyển qua server khác.
  • Sử dụng được nhiều tool để tối ưu tốc độ cho Wordpress ( php-fpm, varnish cache, nginx, mariadb, webpack, wp-cli …)
  • Đồng bộ môi trường local của developer với môi trường server.
  • Khiến việc develop Wordpress thêm một tầm cao mới.
  • Một tiện ích khác từ docker đó là có thể config môi trường một lần và chạy được nhiều dự án khác nhau.
  • Biết thêm docker thì tìm được việc làm lập trình web lương cao hơn.

Đó là một vài lí do để khiến mình tìm hiểu Docker và dành thời gian cho nó.

  Nhập môn lập trình web, có nên học Wordpress?
  Hướng dẫn cách fix và restore Wordpress bị shell hack hoặc chiếm quyền điều khiển

alt text

Các Bước Để Config Docker:

Thiết Lập Môi Trường

Ở đây mình sẽ sử dụng Laradock để config môi trường

Bởi vì mình muốn config một lần và chạy multi-project do đó dưới đây là cấu trúc tổ chức cấp thư mục của mình.

+laradock +wordpress project +laravel project +drupal project

Sau khi đã nắm rõ cấu trúc trên, trước tiên các anh em cần git clone project Laradock về bằng command bên dưới

git clone https://github.com/Laradock/laradock.git

Sau đó cd vào floder Laradock và tạo file .env bằng dòng lệnh sau:

cp env-example .env

Sau khi đã tạo file .env chúng ta cần nắm rõ vài thứ trước khi bắt đầu run các container trong Laradock

Ở đây chúng ta config để run Wordpress do vậy chỉ cần run một vài container như sau:

  • phpmyadmin để truy cập vào quản lí database
  • nginx web server để run script PHP
  • workpsace nơi để làm việc giữa docker với project, dùng để run composer, wp-cli, npm…
  • mariadb là database dùng để lưu dữ liệu

Sau đó chúng ta sửa một tí trong file .env này, vì ở đây mình dùng mariadb thay vì dùng mysql nên các anh em cần tìm dòng PMA_DB_ENGINE và đổi lại như sau:

PMA_DB_ENGINE=mariadb

Sau khi đã chỉnh sửa file config xong, tiếp theo chúng ta sẽ run các container theo dòng lệnh bên dưới:

docker-compose up -d nginx phpmyadmin mariadb workspace

Config WordPress

Sau khi đã thiết lập môi trường xong, các anh em giải nén mã nguồn Wordpress ngang cấp với thư mục Laradock như mình đã đề cập ở trên.

Bước cuối cùng cần edit một tí trong file config của Nginx để nhận diện thư mục Wordpress của mình.

Các anh em vô thự mục Nginx trong Laradock, chọn edit file default.conf

root /var/www/tên-thư-mục-wordpress

Restart lại Nginx bằng dòng lệnh sau:

docker-compose restart nginx

Truy cập đường dẫn localhost:port-ngix để bắt đầu cài. Thông số về db để config Wordpress như sau:

  • DB Host: mariadb
  • DB Name: default
  • User: default
  • Pass: secret

Và cuối cùng là enjoy kết quả sau khi đã cất công mày mò cài đặt.

Cảm ơn các bạn đã đọc bài viết, hãy thực hành thử nhé!

TopDev via viblo

  Deploy web app với Traefik và Docker Swarm
  Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains