Làm cách nào để triển khai WordPress với Docker Compose?

Chương trình Giáo dục Kỹ thuật (EngEd) này được hỗ trợ bởi Mục. Triển khai tức thì các container trên nhiều nhà cung cấp đám mây trên toàn cầu

Dùng thử miễn phí

Chứa WordPress với Docker-Compose

12 Tháng Tư, 2021

Docker là một hệ thống quản lý container. Nó được sử dụng để quản lý một ứng dụng có nhiều thành phần. Docker-compose là một bộ công cụ được cung cấp bởi Docker. Nó định nghĩa và chạy một ứng dụng Docker nhiều vùng chứa

Hầu hết các ứng dụng liên quan đến nhiều hơn một thành phần kiến ​​trúc. Trong các ứng dụng như vậy, Docker-compose sẽ giúp bạn chạy các thành phần này như được xác định trong ngăn xếp ứng dụng của bạn. Nó cung cấp một tệp duy nhất xác định cách các vùng chứa khác nhau tương tác với nhau theo yêu cầu của ngăn xếp ứng dụng của bạn

Một ví dụ điển hình về ứng dụng ngăn xếp là WordPress. WordPress là một API nguồn mở cho hệ thống quản lý nội dung. API WordPress được sử dụng để tạo các trang web, blog hoặc ứng dụng đẹp mắt. Nó bao gồm một phpMyAdmin, bộ chứa cơ sở dữ liệu MySQL và bộ chứa cài đặt WordPress

Docker cho phép chúng tôi tạo một tệp cấu hình

services:
8 đơn giản để đóng gói các bộ chứa (thành phần) WordPress này. Các thành phần sẽ tương tác và chạy như một ứng dụng. Chúng tôi sẽ sử dụng Docker-compose để chạy ba bộ chứa API WordPress này để sử dụng hệ thống quản lý nội dung WordPress

Thông thường, thiết lập cài đặt WordPress bao gồm nhiều bước. Bạn cần thiết lập thủ công môi trường WordPress. Điều này có thể rất rườm rà. Hơn nữa, bạn nên thiết lập một máy chủ web cục bộ, định cấu hình máy chủ để thực thi mã PHP và thiết lập cơ sở dữ liệu MySQL

Bạn cũng có thể sử dụng các gói dựng sẵn như MAMP cho MacOS hoặc XAMPP và Wamp cho Windows để đặt tất cả các thành phần WordPress trên hệ thống máy tính cục bộ của bạn

Tuy nhiên, với Docker, bạn tạo một tệp duy nhất và chạy một vài lệnh. Điều này sẽ thiết lập mọi thứ trong bộ chứa Docker và WordPress của bạn sẽ chạy tốt. Đây là cách đơn giản nhất để thiết lập môi trường trang web WordPress

Mục tiêu

Hướng dẫn này sẽ trình bày cách Dockerize một trang web WordPress bằng cách sử dụng Docker-compose thông qua các lệnh Docker

điều kiện tiên quyết

  • Hướng dẫn này sử dụng Docker để triển khai container hóa ứng dụng. Kiến thức trước về Docker là điều cần thiết
  • Kiến thức cơ bản về cách tạo Docker image và khởi động Docker container
  • Kiến thức cơ bản về cách cài đặt và sử dụng WordPress

Sẵn sàng

Để bắt đầu, hãy cài đặt Docker trên máy tính của bạn

Trong khi cài đặt Docker trên Windows, bạn có thể gặp phải lỗi này

Làm cách nào để triển khai WordPress với Docker Compose?

Để giải quyết vấn đề này, hãy tải xuống và cài đặt. Khởi động lại máy tính để bàn Docker và lỗi sẽ được khắc phục

Chúng tôi sẽ sử dụng các hình ảnh có sẵn trong Docker Hub

Bao gồm các

  • WordPress - Chúng tôi cần một hình ảnh WordPress để tạo một trang web WordPress. Hình ảnh WordPress bao gồm máy chủ Apache mà chúng ta cần để thực thi mã PHP
  • MySQL - Điều này sẽ đặt các biến môi trường WordPress như mật khẩu gốc MySQL, người dùng và cơ sở dữ liệu
  • phpMyAdmin - Nó cho phép chúng tôi xem các bảng và cột cơ sở dữ liệu

Bây giờ chúng tôi đã sẵn sàng để tạo một tệp

services:
8 duy nhất sẽ đặt tất cả các hình ảnh và vùng chứa Docker này

Đặt tệp YAML

Đầu tiên, tạo một thư mục dự án ở vị trí ưa thích trên máy tính của bạn. tôi. e.

services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
0, Và sau đó là thư mục dự án của bạn
services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
1

Thay đổi thư mục thành thư mục mới tạo với

services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
2

Bên trong thư mục

services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
3, tạo tệp
services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
4, tôi. e.
services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
5. Chạy
services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
6 để tạo tệp. Nếu bạn đang dùng Linux hoặc Mac, hãy sử dụng
services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
7

Docker-compose cũng có thể hoạt động với

services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
8

Mở dự án bằng trình soạn thảo văn bản ưa thích của bạn. Tôi đang sử dụng Visual Studio Code. Tôi sẽ tiếp tục và mở nó bằng

services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
9

Đặt môi trường soạn thảo

  • Điều đầu tiên cần xác định trong tệp YAML này là phiên bản của tệp soạn thảo sẽ sử dụng. Đây phải là phiên bản mới nhất do Docker-compose

Hãy tiếp tục và bao gồm dòng sau trong. tệp yaml cấp cao nhất

Version: '3'

  • Dịch vụ - Xác định các loại vùng chứa sẽ chạy. Trong trường hợp này, chúng bao gồm WordPress và MySQL

services:

Thêm vùng chứa trong khối dịch vụ, như hình bên dưới

services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:

  1. cơ sở dữ liệu
  • Tên vùng chứa. Đây sẽ là tên bạn muốn đặt cho vùng chứa cơ sở dữ liệu

container_name: database_container

  • chế độ khởi động lại. Trong trường hợp container ngừng chạy vì bất kỳ lý do gì, hãy đặt nó khởi động lại. Nếu máy chủ khởi động lại, vùng chứa sẽ khởi động lại

restart: always

  • Hình ảnh vùng chứa. Để chạy cơ sở dữ liệu MySQL, bạn cần có một hình ảnh MySQL như được cung cấp trong trung tâm MySQL Docker. Đảm bảo bao gồm phiên bản mới nhất của hình ảnh vùng chứa

Đặt hình ảnh này, như hình bên dưới

image: mysql

  • môi trường MySQL. Môi trường cơ sở dữ liệu bao gồm tên và mật khẩu cơ sở dữ liệu và tên người dùng và mật khẩu cơ sở dữ liệu. WordPress sẽ sử dụng các biến môi trường này để kết nối với vùng chứa MySQL

environment:
    MYSQL_ROOT_PASSWORD: my_password_1234789
    MYSQL_DATABASE: my_wp_database
    MYSQL_USER: my_wp_user
    MYSQL_PASSWORD: my_wp_user_password

  • Xác định khối lượng container. Điều này sẽ ánh xạ dữ liệu vùng chứa MySQL tới các ổ đĩa bạn đã tạo

volumes:
  - mysql:/var/lib/mysql

  1. WordPress

Bây giờ, hãy xác định các dịch vụ WordPress

  • container_name: database_container
    
    0. Nó đảm bảo rằng một vùng chứa chỉ bắt đầu khi các dịch vụ mà nó phụ thuộc trực tuyến. WordPress dựa trên bộ chứa MySQL, do đó, hãy chỉ định
    container_name: database_container
    
    1 như sau

depends_on:
  - my_database

Tên phải bằng với tên của dịch vụ cơ sở dữ liệu như được định nghĩa trong bộ chứa MySQL

  • Xác định hình ảnh WordPress

image: WordPress:latest

Luôn bao gồm chú thích

container_name: database_container
2 để WordPress tải trên phiên bản mới nhất hiện có

  • Xác định chính sách khởi động lại như mọi khi

restart: always

  • Đặt cổng vùng chứa WordPress. Hình ảnh WordPress dựa trên Apache và bạn cần đặt cổng mà Apache chạy trên đó. Theo mặc định, Apache chạy trên cổng
    container_name: database_container
    
    3. Xác định cổng này để ánh xạ vùng chứa tới máy cục bộ. Ánh xạ cổng apache mặc định tới
    container_name: database_container
    
    4 của máy tính cục bộ

services:
1

  • Biến môi trường WordPress. Để bộ chứa WordPress chạy, bạn nên đặt môi trường cơ sở dữ liệu mà WordPress sẽ sử dụng. Các biến này bao gồm máy chủ cơ sở dữ liệu WordPress, tên người dùng cơ sở dữ liệu WordPress, mật khẩu người dùng cơ sở dữ liệu và tên cơ sở dữ liệu được xác định trong vùng chứa MySQL

services:
2

  • Đặt các khối lượng WordPress này. Họ ánh xạ thư mục hiện tại vào thư mục chứa các tệp WordPress

services:
3

  1. Tạo một ổ đĩa cấp cao nhất sẽ xác định MySQL như đã nêu trong
    container_name: database_container
    
    5

services:
4

Tệp YAML hoàn chỉnh

services:
5

thử nghiệm

Tệp YAML đã sẵn sàng để khởi tạo vùng chứa Docker đã xác định. Chạy lệnh sau để đặt vùng chứa này

services:
6

Đảm bảo bạn đang chạy lệnh trên từ thư mục chứa tệp YAML của bạn

Điều này sẽ tải xuống tất cả các môi trường theo yêu cầu của WordPress. Nếu bạn nhìn vào thư mục của mình, bạn sẽ nhận ra rằng có các tệp và thư mục mới. Đây là các tệp WordPress được tải xuống từ bộ hướng dẫn trong

services:

  #MySQL Database image
  mysql_db:

  #Wordpress image based on Apache
  wordpress:
5

Làm cách nào để triển khai WordPress với Docker Compose?

Để xác nhận xem trang web WordPress có đang hoạt động hay không, hãy mở

container_name: database_container
7 trong trình duyệt. Thao tác này sẽ khởi chạy trình hướng dẫn WordPress bình thường

Làm cách nào để triển khai WordPress với Docker Compose?

Nhấp vào tiếp tục và cung cấp thông tin

container_name: database_container
8 và cài đặt WordPress

Làm cách nào để triển khai WordPress với Docker Compose?

Đăng nhập bằng thông tin bạn đã cung cấp và thao tác này sẽ khởi chạy back-end WordPress

Làm cách nào để triển khai WordPress với Docker Compose?

Và bạn đã hoàn thành. Bạn đã cập bến một trang web WordPress

Chạy

container_name: database_container
9 để cắt hai container

Đặt PHPMyAdmin

Vì chúng ta đang sử dụng Mysql nên có thể thêm dịch vụ phpMyAdmin để truy cập và xem cơ sở dữ liệu

Hãy tiếp tục và bao gồm dịch vụ phpMyAdmin sau đây và các vùng lân cận của nó trong tệp YAML của bạn

services:
7

Chạy

restart: always
0, mở
container_name: database_container
7 để xem trang web

Điều hướng đến

restart: always
2 để xem phpMyAdmin. Nhập chi tiết xác thực của bạn và bạn sẽ có thể xem và tương tác với cơ sở dữ liệu MySQL

Làm cách nào để triển khai WordPress với Docker Compose?

Phần kết luận

Bây giờ chúng tôi đã thiết lập và chạy WordPress. Đây là cách dễ dàng hơn để thiết lập API WordPress. Ngoài ra, bạn có thể sử dụng phương pháp này để thực hiện kiểm tra WordPress trước khi phát hành ra công chúng

Làm cách nào để triển khai WordPress với Docker?

Cách triển khai Hình ảnh WordPress dưới dạng Bộ chứa Docker .
Bước 1 – Cài đặt Docker. Docker có sẵn cho Windows, macOS và Ubuntu. .
Bước 2 – Thiết lập WordPress Container trên Docker. .
Bước 3 – Hoàn tất cài đặt WordPress trên trình duyệt web

Tôi có thể triển khai với Docker soạn không?

Bạn có thể sử dụng Compose để triển khai ứng dụng cho máy chủ Docker từ xa bằng cách đặt các biến môi trường DOCKER_HOST , DOCKER_TLS_VERIFY và DOCKER_CERT_PATH một cách thích hợp .

Có thể cài đặt WordPress trên Docker từ dòng lệnh không?

Nó chính thức có sẵn trên Docker và cung cấp các hướng dẫn dễ dàng với hình ảnh cập nhật. Bắt đầu bằng cách tạo một thư mục mới nơi bạn muốn lưu trữ các tệp cho WordPress và MariaDB chẳng hạn trong thư mục chính của bạn. Việc tải xuống và cài đặt bộ chứa MariaDB mới đều có thể được thực hiện bằng một lệnh duy nhất.

Làm cách nào để chạy WordPress trên localhost Docker?

Dưới đây là ba bước để thiết lập phát triển WordPress cục bộ bằng Docker. .
Tải xuống và chạy Docker
Thiết lập vùng chứa với môi trường WordPress
Thiết lập và chạy vùng chứa của bạn