WordpressDockerDocker ComposeHướng Dẫn

Cài đặt WordPress / PhpMyAdmin với Docker Compose trên Ubuntu 16.04

Tại sao sử dụng Docker để chạy Wordpress? Hãy cùng mình tìm hiểu những lợi ích của Docker mang lại nhé

Containers cho WordPress và MySQL thì luôn có sẵn trên Docker Hub. Một Docker image là một bản snapshot tĩnh của một container mà được sử dụng để tạo mới một container instances - thôi rối quá bạn có thể bỏ qua đoạn này.

Docker Hub là một official repository (kho lưu trữ chính thức được công nhận) ?, nơi mà mọi cá nhân hay tổ chức đều có thể upload Docker images lên đó chia sẻ cho cộng đồng sử dụng chung, nếu bạn từng dùng Github bạn sẽ hiểu repository là gì.

Máy của bạn hoặc server linux đã cài đặt DockerDocker Compose, nếu vẫn chưa cài đặt hãy tham khảo ngay bài viết Hướng dẫn cài đặt Docker trên hệ điều hành Linux liền nha

Tại sao lại sử dụng Docker để chạy WordPress?

Thông thường để có thể chạy được WordPress chúng ta hay sử dụng 2 stack sau: LAMP (Linux, Apache, MySQL, và PHP) hay LEMP(Linux, Nginx, MySQL, và PHP) việc này làm cho mình phải tốn nhiều thời gian để cài đặt từng bước một với stack mình lựa chọn.

Trong trường hợp bạn đã có kiến thức cơ bản về cách cài đặt LAMPLEMP, thì một lý do để chúng ta đỡ phải tốn thời gian và thao tác cài đặt đó là dùng DockerDocker Compose

WordPress, MySQL được đóng gói (images) và duy trì trên Docker Hub, việc sử dụng chúng có những lợi ích sau đây:

  • Cấu hình phần mềm sẵn sàng mọi thứ cho bạn, điều đó có nghĩa là bạn sẽ không cần quan tâm hay tuân theo quy trình từng bước cho từng ứng dụng để chúng có thể chạy được trên hệ thống của bạn
  • Cập nhật phần mềm cũng vô cùng đơn giản cũng giống như việc tải một bản đóng gói từ Docker Hub
  • Các images và containers được đóng gói rất gọn gàng, điều đó có nghĩa là chúng ta có thể xoá bỏ chúng một cách sạch sẽ gọn gàng

Bước 1: Khởi tạo thư mục chứa file docker-compose.yml

cd /home
mkdir my_wordpress
cd my_wordpress

Bước 2: Tạo file docker-compose.yml và khai báo container MySQL, WordPress

Tạo một file tên là docker-compose.yml bằng nano hoặc vim, ở đây mình ví dụ bằng nano editor nhé

nano docker-compose.yml

Nội dung file docker-compose.yml bên dưới.

Khai báo các thông số cho mysql

  • User mình chọn là root cụ thể trong docker-compose là MYSQL_USER: root
  • Password của mysql mình cũng đặt là root cụ thể trong docker-compose là MYSQL_ROOT_PASSWORD: root
  • Database name mình đặt là wordpress cụ thể trong file docker-compse là WORDPRESS_DB_NAME: wordpress

Bạn có thể thay đổi user/pass và database name tùy ý mình nhé

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root
       MYSQL_DATABASE: wordpress
       MYSQL_USER: root
       MYSQL_PASSWORD: root

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: root
       WORDPRESS_DB_PASSWORD: root
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

Bước 3: Khởi chạy tất cả các service

Chúng ta khởi động services với cái config của file docker-compose.yml với lệnh sau

docker-compose up -d
Wordpress docker compose - Khởi động các container docker
Khởi động các container docker

Với lệnh sau có tham số -d bạn lưu ý các container sẽ chạy nền, còn nếu không có tham số -d bạn sẽ thấy mọi tiến trình access page get post... dùng để debug

Bước 4: Hoàn thành cài đặt WordPress Docker Compose và thử truy cập WordPress

Truy cập vào link http://localhost:8000 bắt đầu setup WordPress và done

Hoàn thành cài đặt wordpress docker compose
Hoàn thành cài đặt wordpress docker compose

Bước 5: Cài đặt phpmyadmin trên Docker Compose

Để có thể dùng được phpmyadmin trên Docker Compose bạn cần thêm dòng code này vào bên dưới services wordpress trong file docker-compose.yml

...
phpmyadmin:
       image: phpmyadmin/phpmyadmin
       restart: always
       ports:
         - 3333:80
       environment:
         PMA_HOST: db
         MYSQL_ROOT_PASSWORT: root
...

và cuối cùng ta có file docker-compose.yml hoàn chỉnh như sau

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root
       MYSQL_DATABASE: wordpress
       MYSQL_USER: root
       MYSQL_PASSWORD: root

  wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - 8000:80
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: root
       WORDPRESS_DB_PASSWORD: root
       WORDPRESS_DB_NAME: wordpress
    
   phpmyadmin:
       image: phpmyadmin/phpmyadmin
       restart: always
       ports:
         - 3333:80
       environment:
         PMA_HOST: db
         MYSQL_ROOT_PASSWORT: root
volumes:
    db_data: {}

Bước 6: Khởi chạy services pull phpmyadmin bằng docker compose

  • Cũng như bước 3 chúng ta cũng sẽ khởi chạy lại các services cũng bằng lệnh docker-compose up -d để cài đặt phpmyadmin
  • Và truy cập vào đường dẫn http://localhost:3333 để thấy được giao diện phpmyadmin tất nhiên đăng nhập với user mysql và pass mysql đều là root
cài đặt phpmyadmin docker compose
Khởi chạy service PhpMyAdmin Docker Compose
phpmyadmin docker compose
PhpMyAdmin docker compose

Kết

Vậy là mình đã hoàn thành các bước hướng dẫn bạn cách làm thế nào để Setup WordPress docker compose, và cài đặt phpmyadmin, rất dễ thực hiện và dễ hiểu, nếu bạn có chỗ nào thắc mắc chưa hiểu, hoặc bị kẹt chỗ nào chưa rõ bạn có thể comment bên dưới bài viết ?, mình sẽ trả lời lại cho bạn ở phần comment sớm nhất có thể nhé ?

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button
Close