Thủ thuật Website

WPDock – Môi trường phát triển WordPress đơn giản sử dụng Docker

Ở đây tại WP Git Updater , chúng tôi đang công bố một môi trường phát triển WordPress mới sử dụng Docker!

WordPress đã cung cấp một hình ảnh docker có thể được sử dụng để phát triển, nhưng nó có một số vấn đề không được xử lý theo cách docker thông thường. Chúng tôi chưa bao giờ thực sự tìm ra giải pháp có thể định cấu hình cho những vấn đề này, điều này luôn có nghĩa là sử dụng hình ảnh docker yêu cầu một số bước lặp lại “phải biết” cho mọi thứ mà vùng chứa cần được xây dựng. Hoặc hoàn nguyên để sử dụng máy của nhà phát triển cục bộ php / apache / mysql hoặc một công cụ môi trường dành cho nhà phát triển khác.

Chúng tôi đã sử dụng nhiều công cụ khác và chúng không hoạt động tốt đối với chúng tôi. Một số chỉ tiếp quản các cổng máy chủ mà không cho bạn biết, những người khác không cung cấp tất cả các tính năng chúng tôi cần. WPDock được thiết kế có chủ đích để trở thành một lớp rất mỏng trên docker.

Theo thiết kế, hình ảnh WordPress chỉ là WordPress. Không có hỗ trợ https, bắt thư hoặc truy cập cơ sở dữ liệu. Điều này có nghĩa là lại gây ô nhiễm cho máy phát triển của bạn Công cụ MySql được lựa chọn với nhiều cấu hình kết nối.

Chúng tôi muốn tìm cách chạy ngăn xếp WordPress Docker vì nó là một trường hợp sử dụng hoàn hảo cho docker trong môi trường nhóm / cộng tác. Với Docker Compose, chúng tôi muốn một thiết lập mà bạn có thể chỉ cần “bắt đầu” bao gồm một số công cụ phổ biến được sử dụng để phát triển cục bộ WordPress.

Chúng tôi đặt ra để đạt được những điều sau:

  • Một lệnh duy nhất để bắt đầu / dừng toàn bộ môi trường
  • Dễ dàng truy cập vào cơ sở dữ liệu MySql
  • Thư ra khỏi hộp
  • Không có lỗi lặp lại WordPress hoặc kiểm tra tình trạng Rest Api
  • Truy cập đơn giản vàoWP-CLI
  • HTTPS / hỗ trợ tên miền
  • Càng ít ô nhiễm do máy móc phát triển càng tốt
  • Chia sẻ cơ sở dữ liệu đơn giản giữa các thành viên trong nhóm

Nhập WPDock

WPDock là một tập lệnh bash rất đơn giản cung cấp cho bạn tất cả những điều trên. Tất cả những gì bạn cần là docker cho hoạt động cơ bản và nếu bạn muốn hỗ trợ https / tls thì chỉ có 1 mkcert phụ thuộc khác .

Kiểm tra kho lưu trữ và cài đặt hướng dẫn trên Github . WPDock là một tệp thực thi đơn giản mà bạn chỉ cần đặt vào đường dẫn của mình.

Bạn có thể tạo môi trường WPDock bằng lệnh sau:

wpdock init 

Thao tác này sẽ tạo một .envtệp trong thư mục hiện tại của bạn với các biến môi trường cần thiết để hoạt động. Nó cũng sẽ thêm .envtệp và .wpdockthư mục vào một tệp gitignore và cuối cùng nó sẽ tạo một .htaccesstệp ngăn không cho các tệp chấm này có thể truy cập được nếu bạn tải nhầm chúng lên máy chủ.

Sau đó, để chạy toàn bộ ngăn xếp:

wpdock up or wpdock start

Đó là nó!

Với điều này (và tùy thuộc vào những gì bạn đã thay đổi trong .envtệp. Bạn sẽ có quyền truy cập vào:

  • WordPress trênlocalhost:8080
  • PhpMyAdmin bậtlocalhost:8181
  • Mailhog bắt các email WordPress để xem xét trênlocalhost:8282
  • MySql đang bậtlocalhost:33060

Thư mục hiện tại của bạn bị ràng buộc là wp-contentthư mục trên vùng chứa WordPress và WordPress đã được cài đặt sẵn để bạn bắt đầu phát triển.

Hơn nữa, ô nhiễm máy phát triển duy nhất là các cổng bị ràng buộc. WpDock sẽ không sử dụng bất kỳ thứ gì khác ngoài docker và các cổng đó. Điều này là hoàn hảo và cung cấp cho bạn sự linh hoạt để điều chỉnh các biến .env trong một thư mục khác và chạy nhiều phiên bản cùng một lúc!

Điều này cũng tuân theo cấu trúc được đề xuất của WP Git Updaters cho các thiết lập được kiểm soát nguồn WordPress. Với thiết lập này, bạn có thể git inittrong wp-contentthư mục liên kết, bỏ qua thư mục tải lên và tất cả tập hợp của bạn.

Cần truy cập WP-CLI?

Tất nhiên, chúng tôi cũng đã làm cho điều này đơn giản:

wpdock user list

Bất kỳ lệnh nào không được nhận dạng wpdocksẽ chuyển qua vùng chứa cli.

Chia sẻ cơ sở dữ liệu giữa các thành viên trong nhóm

Tất nhiên, bạn có thể sử dụng các công cụ thuần thục khác nhau để đồng bộ hóa cơ sở dữ liệu. Nhưng để sử dụng đơn giản , wpdockcung cấp dumpvà importcác lệnh:

wpdock dump # dump.sql will be in your current directory
wpdock import # will import the dump.sql file in your current directory

Môi trường dừng

Ngăn chặn môi trường có thể được thực hiện theo một số cách:

wpdock stop # stops the containers
wpdock down # stops and removes the containers
wpdock destroy # stops and removes the containers + shared volumes

Các lệnh khác

[service]có thể là một trong số :,,,, wordpressvà cli( thêm về điều này sau).dbmailhagphpmyadmincaddy

wpdock help # displays command help

wpdock file .env # displays the default env variables should you want to create or amend an existing .env file

wpdock exec [service] # eg: wpdock exec wordpress bash

wpdock run [service] … # eg: wpdock run cli bash

wpdock logs [service] # tails all container logs, or pass a service to view specific logs

wpdock compose … # proxy commands directly to docker-compose

wpdock … # is the same as wpdock run cli wp …

Như bạn có thể thấy WPDock là một lớp rất mỏng bên trên các lệnh Docker Compose.

Miền thực có chứng chỉ TLS / HTTPS cục bộ hợp lệ

Phù hợp với các đề xuất của ứng dụng The Twelve Factor về tính chẵn lẻ của Dev / Prod.
Vào năm 2021, thực sự không có lý do gì để không sử dụng TLS ngay cả để phát triển địa phương.

Hơn nữa nếu bạn định sử dụng bất kỳ dạng plugin giỏ hàng nào mà không có TLS, bạn có thể gặp phải một số vấn đề trên http đơn giản.

WPDock cung cấp một tùy chọn đơn giản để kích hoạt các miền tùy chỉnh với https cho môi trường phát triển của bạn.

Hãy cùng xem và cách nó hoạt động:

wpdock up --https

Với lệnh trên và WORDPRESS_SITE_HOSTthiết lập biến .env, bạn có thể phát triển cục bộ với mã hóa TLS đáng tin cậy cho WordPress!

Cái này hoạt động ra sao?

WpDock cần thêm 1 công cụ để cung cấp tính năng này: mkcert .
Mkcert thêm CA đáng tin cậy cục bộ vào máy phát triển của bạn và cho phép bạn tạo chứng chỉ TLS dựa trên CA đó.

Điều này có nghĩa là không còn cảnh báo chứng chỉ không đáng tin cậy nữa.

Đầu tiên hãy cài đặt Mkcert như được nêu chi tiết trong tài liệu của họ. Chạy mkcert -installmột lần để cài đặt CA và để WpDock tiếp quản từ đó.

Khi bạn chạy wpdock up —https, các bước bổ sung sau được thực hiện.

  • wpdocksẽ tạo ra một Caddyfiletrong .wpdockthư mục.
  • wpdocksẽ tạo chứng chỉ và tệp khóa từ WORDPRESS_SITE_HOSTbiến env của bạn trong .wpdock/certsthư mục.
  • Một vùng chứa máy chủ web caddy mới sẽ được khởi động, với các tệp đã tạo được ánh xạ vào các vị trí chính xác.

Caddy là một máy chủ web siêu đơn giản để sử dụng, hoàn hảo cho những gì wpdockcần cung cấp hỗ trợ TLS.
Được tạo Caddfyfilechỉ đơn giản là tạo một proxy ngược từ WORDPRESS_SITE_HOSTđến vùng chứa wordpress

Vùng chứa Caddy cần phải liên kết với các cổng 80và 443trên máy phát triển của bạn để cung cấp ánh xạ này.

Bây giờ tất cả những gì bạn cần làm là đảm bảo WORDPRESS_SITE_HOSTtrỏ đến 127.0.0.1thông qua /etc/hoststệp của bạn.

Trang web của bạn sẽ có sẵn trên https / tls, tự động chuyển tiếp các yêu cầu http, với một chứng chỉ đáng tin cậy.

Ngoài ra wpdock, sẽ cập nhật cơ sở dữ liệu của bạn và thay thế các localhost:${PORT}url bằng tên miền mới.

Khi bạn ngừng môi trường phát triển của mình, mọi thứ đều được dọn dẹp. Cổng 80và 443được sử dụng lại miễn phí.

Đi tới Dự án để tìm hiểu cách cài đặt và hơn thế nữa về các lệnh: https://github.com/wpgitupdater/wpdock .

Phản hồi Chào mừng

Chúng tôi hy vọng bạn thích sử dụng WPDock. Đối với chúng tôi, đó là một bổ sung nhỏ nhưng hữu ích cho quy trình phát triển của chúng tôi.

WPDock là mã nguồn mở và có thể được tìm thấy tại https://github.com/wpgitupdater/wpdock . Mọi cải tiến / đề xuất đều được hoan nghênh.

Tại Wp Git Updater, chúng tôi phát triển cục bộ bằng cách sử dụng các máy của Apple, nhưng chúng tôi tin rằng tất cả các lệnh cũng sẽ hoạt động trên môi trường Linux (vui lòng cho chúng tôi biết nếu bạn có bất kỳ vấn đề nào).

Đối với người dùng windows, chúng tôi rất sẵn lòng chấp nhận PR cung cấp hỗ trợ nếu nó có thể đạt được.

Hãy chú ý theo dõi, trong một vài bài viết tiếp theo, chúng tôi sẽ trình bày chi tiết hơn một số tính năng và hiển thị cho bạn một thiết lập tự động phân giải tld đã chọn của bạn thành localhost bằng DNSMasq.

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button