Trang chủ Thủ Thuật Cách nhanh chóng triển khai WordPress dưới dạng Docker Container

Cách nhanh chóng triển khai WordPress dưới dạng Docker Container

0
49
Photo of the WordPress logo on a laptop screen

Cách nhanh chóng triển khai WordPress dưới dạng Docker Container

Photo of the WordPress logo on a laptop screen
monticello / Shutterstock.com

WordPress là hệ thống quản lý nội dung phổ biến nhất. Nó được viết bằng PHP, lưu trữ dữ liệu trong cơ sở dữ liệu MySQL và thường chạy sau máy chủ web Apache. Các phần phụ thuộc này thêm một số gói vào hệ thống của bạn và có thể khó duy trì theo thời gian. Dưới đây là cách nhanh chóng khởi chạy cài đặt WordPress được chứa trong vùng chứa bằng hình ảnh Docker chính thức.

Bắt đầu

Chạy WordPress trong Docker yêu cầu hai vùng chứa riêng biệt: một vùng chứa web, chạy Apache và PHP và một vùng chứa cơ sở dữ liệu, lưu trữ MySQL. Bạn cũng phải thiết lập khối lượng Docker cho các thư mục dữ liệu WordPress. Các tệp này lưu trữ các tệp cấu hình và phương tiện đã tải lên của bạn để chúng tồn tại qua các lần khởi động lại vùng chứa.

Đảm bảo rằng bạn đã cài đặt Docker và Docker Compose trước khi tiếp tục. Mặc dù bạn có thể tự mình sử dụng Docker CLI, Compose giúp bạn dễ dàng xác định hai dịch vụ, các phần phụ thuộc của chúng và khối lượng của bạn. Bạn sẽ có thể hiển thị toàn bộ ngăn xếp bằng một lệnh duy nhất.

Hình ảnh cơ sở

Hình ảnh Docker WordPress chính thức có sẵn với nhiều loại được gắn thẻ khác nhau. Những điều này bao gồm phổ các phiên bản WordPress và PHP có sẵn. Nếu bạn sử dụng latest , bạn sẽ nhận được phiên bản WordPress hiện tại với bản phát hành PHP mới nhất.

Để kiểm soát nhiều hơn việc triển khai của bạn, hãy sử dụng phiên bản WordPress và PHP cụ thể. Đây là vài ví dụ:

  • wordpress:5.7 – WordPress 5.7 với PHP mới nhất.
  • wordpress:php7.4 – PHP 7.4 với WordPress mới nhất.
  • wordpress:5.7-php7.4 – WordPress 5.7 với PHP 5.4.
Quảng cáo

Danh sách đầy đủ các thẻ được hỗ trợ được cung cấp trên Docker Hub. Bên cạnh hỗ trợ ghim phiên bản, các biến thể hình ảnh cũng có sẵn cho Apache, FPM và Alpine.

Hình ảnh được định cấu hình trước với các cài đặt mặc định có thể sử dụng được. Bạn có thể thêm php.ini của riêng mình bằng cách sao chép tệp tương thích vào thư mục $PHP_INI_DIR/conf.d trong vùng chứa WordPress.

Triển khai ngăn xếp của bạn

Tạo một thư mục mới cho trang web của bạn, sau đó thêm tệp docker-compose.yml Dán nội dung sau:

 phiên bản : "3"
dịch vụ :
  wordpress :
    hình ảnh : wordpress: 5.7-php7.4
    khởi động lại : trừ khi dừng lại
    cổng :
- 80
    môi trường :
      WORDPRESS_DB_HOST : mysql
      WORDPRESS_DB_USER : tên người dùng
      WORDPRESS_DB_PASSWORD : mật khẩu
      WORDPRESS_DB_NAME : wordpress
    khối lượng :
- wordpress: / var / www / html
  mysql :
    hình ảnh : mysql: 5.7
    khởi động lại : trừ khi dừng lại
    môi trường :
      MYSQL_DATABASE : wordpress
      MYSQL_USER : tên người dùng
      MYSQL_PASSWORD : mật khẩu
      MYSQL_RANDOM_ROOT_PASSWORD : "1"
    khối lượng :
- mysql: / var / lib / mysql

khối lượng :
  wordpress :
mysql:

Tệp Soạn thảo này xác định một ngăn xếp tối thiểu với các dịch vụ WordPress và MySQL bắt buộc. Kết nối cơ sở dữ liệu được cấu hình bằng cách sử dụng các biến môi trường. Bạn nên thay đổi tên người dùng và mật khẩu cơ sở dữ liệu để bảo mật các giá trị của riêng bạn. Hãy nhớ áp dụng các thay đổi cho cả hai định nghĩa dịch vụ.

Các dịch vụ được đặt tự động khởi động lại trừ khi chúng bị dừng theo cách thủ công. Điều này đảm bảo trang web của bạn tự động sao lưu khi bạn khởi động lại hệ thống máy chủ.

Toàn bộ thư mục cài đặt WordPress được gắn vào một ổ đĩa. Sử dụng phương pháp này đảm bảo tất cả nội dung WordPress của bạn được duy trì bên ngoài vùng chứa, bao gồm cấu hình, chủ đề, plugin và tải lên. Nó cũng cho phép bạn sử dụng trình tự cập nhật WordPress từ bảng điều khiển quản trị. Nếu bạn chỉ gắn các thư mục dữ liệu vào một ổ đĩa, mọi thay đổi nguồn được áp dụng bởi trình tự cập nhật sẽ bị mất sau khi khởi động lại vùng chứa.

Quảng cáo

Triển khai ngăn xếp bằng cách chạy docker-compose up -d . Bạn sẽ có thể đăng nhập vào WordPress bằng cách truy cập http://localhost trong trình duyệt của mình. Nếu bạn thấy thông báo “lỗi khi thiết lập kết nối cơ sở dữ liệu”, hãy đợi một lát trước khi thử lại. Quá trình cung cấp cơ sở dữ liệu lần đầu tiên có thể mất vài giây để hoàn tất.

64993e65

Nhấp qua trình hướng dẫn thiết lập WordPress tiêu chuẩn để định cấu hình trang web của bạn. Bạn sẽ cần thiết lập tài khoản người dùng quản trị viên ban đầu. Các thông tin xác thực này phải khác với các thông tin cơ sở dữ liệu MySQL của bạn. Biểu mẫu đăng nhập WordPress sẽ xuất hiện khi bạn hoàn tất. Sử dụng tài khoản quản trị mới của bạn để đăng nhập vào bảng điều khiển quản trị.

Bước tiếp theo

Cài đặt WordPress của bạn hiện đã sẵn sàng để sử dụng. Thêm bài đăng, trang, chủ đề và plugin bằng giao diện quản trị, giống như cài đặt WordPress đơn giản.

5073f930

Bạn nên thực hiện một số bước tăng cường bảo mật cơ bản để giảm nguy cơ bị tấn công cho trang web của mình. Bạn nên đảm bảo rằng bạn cũng có một thói quen sao lưu. Điều này sẽ cần phải bao gồm cơ sở dữ liệu MySQL và thư mục tải lên WordPress của bạn, wp-content .

Cấu hình với Docker Secrets

Sử dụng các biến môi trường để cấu hình là phù hợp để sử dụng cục bộ. Các bí mật của Docker cũng được hỗ trợ, giúp bạn bảo mật hơn trong các môi trường mà các cộng tác viên khác có thể truy cập. Xác định bí mật trong tệp Soạn của bạn và thay thế các biến như WORDPRESS_DB_PASSWORD cho WORDPRESS_DB_PASSWORD_FILE . WordPress sẽ tải giá trị của biến từ tệp bí mật mà Docker đưa vào.

 dịch vụ :
  wordpress :
    môi trường :
     WORDPRESS_DB_PASSWORD_FILE : / run / secret / WORDPRESS_DB_PASSWORD
    bí mật :
- WORDPRESS_DB_PASSWORD
bí mật :
  WORDPRESS_DB_PASSWORD :
    tệp : ./db_password

Thêm mật khẩu của bạn vào db_password trong thư mục làm việc của bạn. Nó sẽ có thể truy cập được bằng /run/secrets/WORDPRESS_DB_PASSWORD trong vùng chứa. WordPress được hướng dẫn đọc tệp này để xác định mật khẩu cơ sở dữ liệu cuối cùng.

Thêm trang web của riêng bạn

Các bước trên dẫn đến một bản cài đặt WordPress mới đã sẵn sàng để định cấu hình tương tác thông qua trung tâm quản trị. Bạn có thể cung cấp cho vùng chứa của mình một tập hợp các chủ đề và plugin mặc định bằng cách gắn chúng vào thư mục /var/www/html/wp-content/themes/var/www/html/wp-content/plugins .

Quảng cáo

Kỹ thuật này cũng giúp bạn tạo hình ảnh Docker tùy chỉnh cho trang web của mình. Sử dụng hình ảnh WordPress chính thức làm cơ sở của bạn và sao chép nội dung trang web của bạn vào các thư mục thích hợp. Dưới đây là một ví dụ về cách bạn có thể đóng gói chủ đề tùy chỉnh dưới dạng hình ảnh sẵn sàng sử dụng:

FROM wordpress:5.7-php7.4-apache COPY ./theme/ /var/www/html/wp-content/themes/example-theme/

Chủ đề của bạn sẽ có sẵn trong mỗi vùng chứa bạn bắt đầu. Mặc dù vậy, phương pháp này không tự động kích hoạt chủ đề. Đối với điều đó, bạn sẽ cần một dịch vụ thứ ba sử dụng hình ảnh WordPress CLI.

 dịch vụ :
  wpcli :
    hình ảnh : wordpress: cli-2-php7.4
    môi trường :
      WORDPRESS_DB_HOST : mysql
      WORDPRESS_DB_USER : tên người dùng
      WORDPRESS_DB_PASSWORD : mật khẩu
      WORDPRESS_DB_NAME : wordpress
    volume_from :
- wordpress: rw

Vùng chứa CLI cần quyền truy cập vào các biến môi trường và khối lượng được cung cấp cho vùng chứa web thông thường. Các biến môi trường phải được sao chép, trừ khi bạn giải nén chúng vào phần YAML có thể tái sử dụng, trong khi các ổ đĩa có thể được gắn kết bằng cách sử dụng volumes_from .

Bây giờ bạn có thể sử dụng Docker Compose để hoàn tất cài đặt WordPress và kích hoạt chủ đề của bạn:

docker-compose run wpcli core install --title="My Site" --admin_user=admin --admin_password=changeme --admin_email=me@example.com --url=localhost --allow-root docker-compose run wpcli theme activate example-theme --allow-root

Các bước này có thể được tự động hóa như một phần của quá trình xây dựng hình ảnh của bạn hoặc một đường dẫn CI. Bạn có thể cam kết vùng chứa cuối cùng để tạo một hình ảnh độc lập về trang web của mình, sẵn sàng cho việc sử dụng tiếp theo.

Sự kết luận

Sử dụng WordPress với Docker tránh làm ô nhiễm máy chủ của bạn và giúp bạn chứa trang web của mình và cấu hình của nó. Việc xác định các dịch vụ của bạn dưới dạng tệp Docker Compose cho phép bạn nhanh chóng tạo ra các phiên bản mới và giúp các cộng tác viên bắt đầu hoạt động.

Quảng cáo

Khi ngăn xếp của bạn hoạt động, việc bảo trì liên tục tương tự như cài đặt WordPress thông thường. Luôn cập nhật WordPress, plugin và chủ đề của bạn, đồng thời chủ động kiểm tra các vấn đề bảo mật.

Một nhiệm vụ dọn phòng cụ thể của Docker là cập nhật hình ảnh cơ sở của WordPress. Thực hành tốt là kéo hình ảnh mới nhất theo định kỳ để bạn không bỏ lỡ bất kỳ bản vá hệ điều hành quan trọng nào. Chạy docker-compose up -d --pull để kéo hình ảnh và khởi động lại các dịch vụ của bạn.

How to Migrate Away From GitLab Managed Kubernetes Apps

Cách di chuyển khỏi các ứng dụng Kubernetes được quản lý trên GitLab

Why Compliance Complacency is Another Form of Technical Debt

Tại sao Tuân thủ Sự tự mãn là một dạng Nợ kỹ thuật khác

What Is a Race Condition?

Điều kiện Cuộc đua là gì?

How to Deploy Static Websites For Free With Surge.sh

Cách triển khai các trang web tĩnh miễn phí với Surge.sh

How Deepfakes Are Powering a New Type of Cyber Crime

Deepfakes đang thúc đẩy một loại tội phạm mạng mới như thế nào

How the New Intersection Types in PHP 8.1 Give You More Flexibility

Cách các kiểu giao điểm mới trong PHP 8.1 mang lại cho bạn sự linh hoạt hơn

Dịch từ: https://www.cloudsavvyit.com/12978/how-to-quickly-deploy-wordpress-as-a-docker-container/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây