WordPress trong Docker là gì?

Công ty của bạn có sử dụng WordPress không? . Nhưng việc hỗ trợ nó có thể đưa ra những thách thức đối với các bộ phận kỹ thuật có sản phẩm phần mềm của riêng họ để hoạt động.  

Tại Instana, chúng tôi sử dụng WordPress cho trang web và blog của mình (trang bạn đang đọc). Khi chúng tôi mới bắt đầu, chúng tôi đã chọn sử dụng dịch vụ lưu trữ được quản lý. Họ có thể cung cấp kiến ​​thức chuyên môn và hỗ trợ cụ thể mà chúng tôi cần để thiết lập và vận hành.   

Nhưng khi chúng tôi phát triển, chúng tôi phải đối mặt với một số thách thức đi kèm với dịch vụ lưu trữ được quản lý. Cụ thể, chúng tôi muốn linh hoạt và tự do hơn trong cách chúng tôi quản lý triển khai, những plugin nào chúng tôi có thể sử dụng và chúng tôi cũng muốn sử dụng một số công cụ yêu cầu quyền truy cập root vào máy chủ của chúng tôi.  

Để giải quyết những thách thức đó, chúng tôi đã chuyển trang web của mình sang giải pháp lưu trữ tự quản lý. Điều này mang lại cho chúng tôi sự linh hoạt trong việc sử dụng các công cụ mà chúng tôi muốn sử dụng đồng thời cho phép chúng tôi kiểm soát nhiều hơn về bảo mật, hiệu suất và tính khả dụng. Động thái này cũng đi kèm với những thách thức mới. Sự kiểm soát mới mà chúng tôi đã có với những trách nhiệm mới.   

Xem ứng dụng Docker giám sát. Hội thảo trên web mẫu về WordPress

Lưu trữ WordPress trên Docker

WordPress có yêu cầu tương đối nhẹ. một máy chủ web PHP và một máy chủ cơ sở dữ liệu. Cụ thể là phiên bản mới nhất của WordPress (5. 9. 3 khi viết) yêu cầu PHP 7. 4 trở lên và MySQL phiên bản 5. 7 hoặc MariaDB phiên bản 10. 3 hoặc cao hơn.   

Hình ảnh WordPress chính thức trên Docker Hub có các loại Apache và PHP-FPM, tuy nhiên hình ảnh PHP-FPM thiếu máy chủ web và do đó bạn phải định cấu hình máy chủ của riêng mình.  

Bitnami xuất bản hình ảnh docker WordPress bằng Apache hoặc kết hợp NGINX và PHP-FPM. Để có hiệu suất, bảo mật và dễ dàng, chúng tôi đã chọn sử dụng hình ảnh Bitnami NGINX cho trang web của mình.   

Với hình ảnh docker chính thức của WordPress hoặc hình ảnh từ Bitnami, một số biến môi trường có sẵn để thông tin xác thực cơ sở dữ liệu và cấu hình khác có thể được cung cấp cho WordPress… điều này đưa chúng ta đến yêu cầu khác. kho dữ liệu.  

Nơi bạn lưu trữ cơ sở dữ liệu WordPress của mình có thể sẽ phụ thuộc vào các tài nguyên đã có sẵn cho nhóm của bạn. Nếu bạn muốn lưu trữ cơ sở dữ liệu của mình trong cùng một môi trường Docker với máy chủ web, hình ảnh MariaDB chính thức hoạt động rất tốt – đừng quên sao lưu dung lượng lưu trữ của bạn.  

Ngoài ra, bạn có thể chọn sử dụng một dịch vụ như Amazon RDS hoặc IBM Cloud Databases. Trong trường hợp này, tất cả những gì bạn cần làm là cung cấp đúng URL và thông tin xác thực trong các biến môi trường máy chủ web của bạn.  

Nhiều cài đặt WordPress có thể chia sẻ một cơ sở dữ liệu MySQL duy nhất miễn là bạn thay đổi biến môi trường `DATABASE_PREFIX` thành duy nhất cho mỗi lần cài đặt.   

Tập tin và lưu trữ

Ngoài hộp, WordPress mong bạn giữ mã, plugin và chủ đề tùy chỉnh của mình trong các thư mục con cụ thể của thư mục `wp-content`. Mọi thứ bên ngoài thư mục này là lõi WordPress và mọi thứ bên trong thư mục này là trang web WordPress cụ thể của bạn.   

Vì WordPress cho phép quản trị viên cài đặt plugin từ trong bảng điều khiển nên có thể cập nhật mã thực tế của trang web khi nó đang hoạt động. Để hỗ trợ chức năng này, thư mục `wp-content` (hoặc các thư mục con cụ thể của nó) phải được gắn dưới dạng một ổ đĩa và được chia sẻ bởi tất cả các vùng chứa.  

Các nhà phát triển WordPress cũng có thể quen với việc làm việc với các máy chủ được chia sẻ, nơi có thể thực hiện các cập nhật nhỏ bằng cách tải lên các tệp mới mà không cần đợi hình ảnh Docker mới được tạo. Với mã tùy chỉnh trong một ổ đĩa, điều này được hỗ trợ dễ dàng hơn và bạn cũng sẽ tránh được các xung đột tiềm ẩn phát sinh từ các phiên bản plugin khác nhau có sẵn cho các vùng chứa khác nhau trong khi tất cả các vùng chứa nhất thiết phải chia sẻ một cơ sở dữ liệu.   

Đây có thể không phải là khả năng mà bạn muốn hỗ trợ trong nhóm của mình —và chúng tôi chắc chắn sẽ hiểu. Trong trường hợp này, chúng tôi khuyên bạn chỉ nên gắn thư mục `wp-content/uploads` dưới dạng ổ đĩa. Thư mục này lưu trữ hình ảnh và tệp phương tiện do người dùng tải lên và có thể ghi và chia sẻ bởi tất cả các phiên bản bộ chứa. Bạn có thể đặt hằng số PHP trong wp-config. php để ẩn các khu vực giao diện người dùng để cài đặt và cập nhật plugin và chủ đề trong bảng điều khiển

Multiple NGINX/PHP web server containers connected to a single Database container and a single docker volume for media uploads

Với trang web WordPress của chúng tôi hiện đã được đóng gói, chúng tôi được giao nhiệm vụ tối ưu hóa, bảo mật và hỗ trợ nó. Chúng tôi muốn biết rằng người dùng cuối của chúng tôi đang có trải nghiệm tốt mà không có lỗi. Chúng tôi muốn biết rằng tài nguyên máy chủ của chúng tôi đang xử lý tải của chúng tôi mà không phải trả thêm chi phí. Chúng tôi muốn xác định và đánh giá các mối đe dọa bảo mật tiềm ẩn. Và chúng tôi muốn trao quyền cho các thành viên khác trong nhóm của mình bằng dữ liệu và công cụ mà họ cần để cải tiến liên tục, dựa trên dữ liệu.  

Chúng ta cần các công cụ để trả lời những câu hỏi này. Trước đây, việc giám sát môi trường của chúng tôi có thể có nghĩa là đo lường việc sử dụng tài nguyên của các máy chủ của chúng tôi và một số thứ khác. Trong môi trường đám mây hiện đại, điều này hầu như không đủ. Ngày nay, chúng tôi cần thiết bị đo lường trong mọi lớp ngăn xếp của chúng tôi.  

Số liệu, dấu vết và nhật ký tạo thành trụ cột của khả năng quan sát hiện đại. Bối cảnh hóa dữ liệu này bằng công cụ quan sát thông minh cho phép chúng tôi nhanh chóng truy cập thông tin liên quan trong khi bỏ qua nhiễu – và lần lượt giảm MTTR và cho phép tất cả chúng tôi chuyển sang các nhiệm vụ quan trọng hơn.  

Vùng chứa WordPress là gì?

Vùng chứa là khu vực nơi chúng tôi hiển thị nội dung . Nói chung, container bao quanh toàn bộ trang. Vùng nội dung và thanh bên là một phần của vùng chứa.

Làm cách nào để triển khai WordPress trong 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

Làm cách nào để cập nhật WordPress trong Docker?

Đang cập nhật Wordpress .
Để cập nhật WP lên phiên bản mới hơn, hãy vào tệp yml của bạn, đặt phiên bản bạn muốn
Sau đó, chỉ cần đưa ra lệnh sau. docker-compose up -d wordpress
Sau đó vào bảng điều khiển quản trị WP của bạn và chọn 'nâng cấp'