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-Compose12 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 WordPressThô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
Để 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:
1Thay đổ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:
2Bê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:
7Docker-compose cũng có thể hoạt động với
services:
#MySQL Database image
mysql_db:
#Wordpress image based on Apache
wordpress:
8Mở 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:
- 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
- WordPress
Bây giờ, hãy xác định các dịch vụ WordPress
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ỉ địnhcontainer_name: database_container
1 như saucontainer_name: database_container
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
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ớicontainer_name: database_container
4 của máy tính cục bộcontainer_name: database_container
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- Tạo một ổ đĩa cấp cao nhất sẽ xác định MySQL như đã nêu trong
5container_name: database_container
services:
4Tệp YAML hoàn chỉnh
services:
5thử 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Để 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ườngNhấp vào tiếp tục và cung cấp thông tin
container_name: database_container
8 và cài đặt WordPressĐă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
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:
7Chạ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 MySQLPhầ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