Hướng Dẫn Cài Đặt WordPress trên Docker Chi Tiết từ A-Z

Nếu bạn đang tìm kiếm một cách để cài đặt và phát triển trang web WordPress một cách thuận tiện và an toàn, Docker có thể là một lựa chọn tuyệt vời. Trong bài viết này, chúng ta sẽ tìm hiểu cách cài đặt WordPress trên Docker.

Docker là gì?

Docker là một nền tảng ảo hóa cấp phần mềm (containerization platform) cho phép đóng gói ứng dụng và tài nguyên của chúng vào các containers nhằm hỗ trợ việc triển khai và quản lý ứng dụng trên môi trường máy tính. Việc sử dụng Docker cho phép tạo ra các container chứa các images đã được cấu hình sẵn cho các ứng dụng như WordPress và MySQL, giúp đơn giản hóa việc triển khai, cập nhật và quản lý ứng dụng.

1 1
Docker là gì?

Trong trường hợp WordPress, việc sử dụng Docker cho phép cấu hình sẵn các images cho LAMP hoặc LEMP stack, giúp tiết kiệm thời gian và công sức trong quá trình triển khai và cài đặt ứng dụng. Những lợi ích của việc sử dụng Docker bao gồm việc cấu hình phần mềm sẵn sàng cho ứng dụng, việc cập nhật phần mềm đơn giản, và việc xoá bỏ các images và containers một cách sạch sẽ gọn gàng.

Quan tâm: WP Rocket là gì? Hướng dẫn cài đặt tăng tốc Website

Các bước cài đặt WordPress trên Docker

Các bước sau đây sẽ chỉ cho bạn cách cài đặt WordPress trên Docker. Docker hiện có sẵn cho các hệ điều hành hiện nay Windows, macOS và Ubuntu. Dưới đây là cách cài đặt Docker trên ba hệ điều hành:

Cài đặt Docker trên Ubuntu

Để cài đặt Docker trên VPS Linux, bạn cần có một máy chủ ảo (VPS) với một trong các hệ điều hành sau:

  • Ubuntu Jammy 22.04 (LTS).
  • Ubuntu Impish 21.10.
  • Ubuntu Focal 20.04 (LTS).
  • Ubuntu Bionic 18.04 (LTS).

1. Update danh sách package:

 sudo apt-get update

2. Cài đặt các package cần thiết:

sudo apt-get install ca-certificates curl gnupg lsb-release

3. Tạo một thư mục Docker GPG key:

sudo mkdir -p /etc/apt/keyrings

4. Thêm Docker’s GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

5. Cài đặt kho lưu trữ Docker:

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

6. Cập nhật Docker:

sudo apt-get update

7. Sau đó, cài đặt last update của Docker Engine, containerd và Docker Compose.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

8. Để xác nhận quá trình cài đặt đã thành công, chạy lệnh sau:

sudo docker run hello-world

Cài đặt WordPress trên Docker
Cài đặt WordPress trên Docker

Lưu ý: Các phiên bản Linux khác như CentOS, Debian hoặc Fedora cài đặt Docker sẽ khác so với Ubuntu. Nếu không sử dụng Ubuntu, bạn nên xem xét trang tài liệu chính thức của Docker để biết các bước cài đặt phù hợp với từng phiên bản Linux.

Cách cài đặt Docker trên macOS

Để cài đặt Docker trên máy macOS, bạn cần đáp ứng các yêu cầu sau:

  • 4 GB RAM.
  • macOS phiên bản 10.15 hoặc mới hơn.
  • Không được cài đặt các phiên bản trước của VirtualBox 4.3.30.

Dưới đây là cách cài đặt Docker trên macOS:

1. Tải Docker cho Mac và nhấp đúp vào tệp .dmg mà bạn đã tải về. Sau đó, kéo và thả biểu tượng Docker vào thư mục Applications của bạn.

Cài đặt WordPress trên Docker  2
Cách cài đặt Docker trên macOS

Bạn có thể tìm link tải ở đây:

  • Mac sử dụng chip Apple
  • Mac sử dụng chip Intel

2. Mở thư mục Applications của bạn và nhấp đúp vào docker.app. Trong quá trình cấu hình, bạn cần nhập mật khẩu theo hướng dẫn.

Cài đặt trên Docker  3
Cách cài đặt Docker trên macOS

3. Sau đó chấp nhận thỏa thuận dịch vụ; nếu không, quá trình cài đặt sẽ thất bại.

Cài đặt trên Docker 4
Cách cài đặt Docker trên macOS

4. Sau khi quá trình cài đặt hoàn tất, bạn sẽ thấy menu Docker trên thanh trạng thái của desktop.

Cài đặt Docker trên Windows

Để cài đặt Docker trên máy tính Windows, bạn cần đáp ứng các yêu cầu sau:

  • 4 GB RAM.
  • Bộ xử lý 64-bit 2010 trở lên.
  • Cho phép ảo hóa trong BIOS.
  • Cài đặt gói cập nhật kernel Linux nếu bạn sử dụng WSL 2 Docker back-end.

Dưới đây là cách cài đặt Docker trên Windows 10 64-bit:

1. Kích hoạt Hyper-V.

2. Tải xuống Docker Desktop for Windows và mở tệp Docker for Windows Installer.

3. Trong Configuration, chọn các tùy chọn. Nhấp vào Ok.

Cách cài đặt Docker trên macOS
Cài đặt Docker trên Windows

4. Khi cài đặt hoàn tất, nhấn Close và khởi động lại máy tính của bạn.

Cách cài đặt Docker trên macOS
Cài đặt Docker trên Windows

5. Sau khi khởi động lại, chấp nhận thỏa thuận dịch vụ và Docker sẽ sẵn sàng sử dụng.

Cách cài đặt Docker trên macOS
Cài đặt Docker trên Windows

Cài đặt WordPress Container trên Docker

Để thiết lập WordPress trên Docker, có hai phương pháp có sẵn – CLI và Docker compose. Trong hướng dẫn này, chúng ta sẽ sử dụng phương pháp Docker compose vì nó đơn giản và có hệ thống hơn.

Lưu ý rằng tất cả các images cần thiết được lấy từ Docker Hub:

  • WordPress – images Docker chính thức của WordPress. Bao gồm các tệp WordPress, máy chủ Apache và PHP.
  • MySQL – cần thiết cho các biến kết nối người dùng root MySQL, mật khẩu và cơ sở dữ liệu.
  • phpMyAdmin – ứng dụng web để quản lý cơ sở dữ liệu.

1. Mở command line trên hệ điều hành của bạn và kiểm tra phiên bản Cài đặt Docker Compose:

docker compose version

Điều này sẽ xác nhận rằng mô-đun Compose đang hoạt động bình thường.

2. Tạo thư mục mới cho ứng dụng WordPress bằng lệnh sau:

mkdir wordpress

3. Điều hướng đến thư mục mới:

cd wordpress

4. Sử dụng text editor, tạo tệp docker-compose.yml mới và dán nội dung bên dưới:

version: "3" 
# Defines which compose version to use
services:
  # Services line define which Docker images to run. In this case, it will be MySQL server and WordPress image.
  db:
    image: mysql:5.7
    # image: mysql:5.7 indicates the MySQL database container image from Docker Hub used in this installation.
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: MyR00tMySQLPa$$5w0rD
      MYSQL_DATABASE: MyWordPressDatabaseName
      MYSQL_USER: MyWordPressUser
      MYSQL_PASSWORD: Pa$$5w0rD
      # Previous four lines define the main variables needed for the MySQL container to work: database, database username, database user password, and the MySQL root password.
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    restart: always
    # Restart line controls the restart mode, meaning if the container stops running for any reason, it will restart the process immediately.
    ports:
      - "8000:80"
      # The previous line defines the port that the WordPress container will use. After successful installation, the full path will look like this: http://localhost:8000
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: MyWordPressUser
      WORDPRESS_DB_PASSWORD: Pa$$5w0rD
      WORDPRESS_DB_NAME: MyWordPressDatabaseName
# Similar to MySQL image variables, the last four lines define the main variables needed for the WordPress container to work properly with the MySQL container.
    volumes:
      ["./:/var/www/html"]
volumes:
  mysql: {}

5. Với tệp Docker Compose đã tạo, hãy chạy lệnh sau trong cùng thư mục wordpress để tạo và khởi động các containers:

docker compose up -d

Hoàn thành cài đặt WordPress

Mở trình duyệt của bạn và nhập http://localhost:8000/ .Màn hình WordPress sẽ xuất hiện. Lựa chọn một ngôn ngữ, sau đó nhấn tiếp tục.

Hoàn thành cài đặt WordPress
Cài đặt Docker trên Windows

Lưu ý: Không chạy bất kỳ hệ thống hoặc dịch vụ quản lý nào khác trên cùng một cổng 8000. Nếu không, WordPress sẽ không hoạt động ổn định.

Điền tên trang web, người dùng, mật khẩu và email.

Hoàn thành cài đặt WordPress
Cài đặt Docker trên Windows

Khi thành công! thông báo sẽ hiển thị, hãy đăng nhập bằng thông tin chi tiết mới tạo của bạn.

Hoàn thành cài đặt WordPress
Cài đặt Docker trên Windows

Cuối cùng, bạn sẽ thấy trang quản trị của WordPress.

Hoàn thành cài đặt WordPress
Cài đặt Docker trên Windows

Thiết lập phpMyAdmin

phpMyAdmin là một công cụ hữu ích để xem và quản lý cơ sở dữ liệu. Tất cả những gì bạn cần làm là đưa những dòng này vào tệp .yml hiện có ngay sau dòng dịch vụ cùng với dịch vụ cơ sở dữ liệu MySQL:

version: "3"
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: MyR00tMySQLPa$$5w0rD
      MYSQL_DATABASE: MyWordPressDatabaseName
      MYSQL_USER: MyWordPressUser
      MYSQL_PASSWORD: Pa$$5w0rD
  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    restart: always
    environment:
      PMA_HOST: db
      PMA_USER: MyWordPressUser
      PMA_PASSWORD: Pa$$5w0rD
    ports:
      - "8080:80"

Lưu và chạy lệnh docker-compose Docker:

docker compose up -d

Sau khi hoàn tất, hãy mở http://localhost:8080/ và bạn sẽ có thể thấy giao diện phpMyAdmin cùng với cơ sở dữ liệu WordPress của mình.

Thiết lập phpMyAdmin
Giao diện phpMyAdmin

Cách bảo mật thiết lập WordPress với Docker Secrets

Dữ liệu nhạy cảm như mật khẩu, SSH key và các loại thông tin quan trọng khác cần được nảo mật cẩn thận . Đó là lý do tại sao Docker secrets được sử dụng. Người dùng có thể sử dụng Docker secrets để quản lý dữ liệu nhạy cảm và di chuyển an toàn đến các container cụ thể.

Trong hướng dẫn này, chúng ta sẽ sử dụng Docker secrets để ẩn biến WORDPRESS_DB_PASSWORD. WordPress sẽ lấy mật khẩu cơ sở dữ liệu từ tệp secret mà chúng ta cung cấp. Sau đây là một ví dụ:

wordpress:
   depends_on:
     - db
   image: wordpress:latest
   restart: always
   ports:
   - "8000:80"
   environment:
     WORDPRESS_DB_HOST: db:3306
     WORDPRESS_DB_USER: MyWordPressUser
     WORDPRESS_DB_PASSWORD_FILE: /run/secrets/wordpress_password
     WORDPRESS_DB_NAME: MyWordPressDatabaseName
   secrets:
     - wordpress_password   
  
secrets:
 wordpress_password:
   file: ./wordpress_password.txt

Phát triển Website trên WordPress Docker Container

Docker cũng là một công cụ phát triển tuyệt vời. Nó cho phép nhà phát triển chạy Docker Compose để nhanh chóng sử dụng WordPress trong một môi trường cô lập được xây dựng với các container Docker.

Ví dụ, giả sử một nhà phát triển muốn thử nghiệm một plugin hoặc chủ đề trên một phiên bản WordPress cụ thể. Trong trường hợp đó, họ có thể chỉnh sửa tệp YAML chính để bao gồm phiên bản WordPress mà họ cần và kiểm tra mọi thứ ở đó.

Tìm và xử lý tệp cũng rất đơn giản. Khi người dùng sử dụng images WordPress chính thức thông qua Docker, nó sẽ tạo tất cả các tệp và thư mục cần thiết, chẳng hạn như wp-content, wp-admin và wp-includes. Do đó, toàn bộ môi trường phát triển hoạt động giống như một trang web WordPress thực tế.

Docker cũng làm cho quá trình chia sẻ các phiên bản phát triển với đội của bạn đơn giản và tiện lợi hơn, vì tất cả những gì bạn cần làm là tạo registry của riêng mình. Sau đó, toàn bộ nhóm sẽ có thể chia sẻ images với các lệnh docker pulldocker push.

Kết luận

Cài đặt WordPress trên Docker giúp tối ưu quá trình phát triển hệ thống quản lý như WordPress. Bài viết trên đây đã hướng dẫn cho bạn đọc cách cài đặt Docker trên Ubuntu, macOS và Windows và triển khai WordPress container cho mỗi hệ điều hành, cũng như cách để bảo mật tốt nhất với Docker secrets. Nếu bạn có bất kỳ câu hỏi nào khác, đừng ngần ngại chia sẻ chúng trong phần bình luận nhé!

avata Hải

Triệu Huyền Trang

Triệu Huyền Trang chuyên gia 3 năm kinh nghiệm trong ngành Công Nghệ, Phần Mềm. Chuyên chia sẻ các kiến thức phần mềm mã nguồn, ứng dụng và thông tin về công nghệ hữu ích.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!