Trong số nhiều thách thức trong phát triển phần mềm hiện đại là đảm bảo rằng ứng dụng hoạt động nhất quán trên mọi môi trường. Show Đây là nơi Docker đến để giải cứu. Nó cung cấp một cách thống nhất để xây dựng và chạy các container cho bất kỳ dịch vụ cần thiết nào. Nền tảng đảm bảo rằng ứng dụng của bạn được triển khai trên bất kỳ Dịch vụ lưu trữ web nào dành cho PHP đều hoạt động như nhau bất kể môi trường mục tiêu Để minh họa cách Dockerize ứng dụng PHP, tôi sẽ dockerize một trang web viết blog, ban đầu được phát triển trong Laravel 5. 4 Bạn cũng có thể thích. Bắt đầu với Laravel 5. 4 Đối với điều này, hãy đảm bảo rằng bạn đã thiết lập Docker trên máy. Tôi sẽ làm việc với docker-compose, giúp dễ dàng triển khai ứng dụng nhiều vùng chứa bằng cách xác định chúng trong một tệp và thực hiện một lệnh đơn giản Có liên quan. Cách lưu trữ PHP trên Kyup Container Trong thư mục gốc của dự án, tạo một tệp và đặt tên là docker-compose. yml. Mã trong tệp sẽ giống như Docker-soạn thảo. yml Giải thíchTrong mã này, hai dịch vụ có tên php và db được xác định, hai dịch vụ này sẽ kết nối để chạy ứng dụng cuối cùng 'build' xác định vị trí của Dockerfile của dịch vụ được tôn trọng 'âm lượng' gắn kết thư mục dự án dưới dạng một ổ đĩa trên vùng chứa tại /var/www/html. Một thư mục nhật ký cũng được gắn trong thư mục tương ứng Bộ chứa php hiển thị cổng 8000 của máy và liên kết với cổng 80 của bộ chứa. Điều này sẽ cho phép truy cập vào ứng dụng 'môi trường' được sử dụng để đưa vào các biến môi trường Hãy nhớ rằng tôi có thể buộc Docker xây dựng một vùng chứa trước một vùng chứa khác bằng cách chỉ định tùy chọn phụ thuộc vào. Tuy nhiên, trong trường hợp này, bộ chứa db sẽ được tạo trước vì bộ chứa php phụ thuộc vào nó Khi tệp docker-compose đã được tạo, tiếp theo tôi sẽ tạo các tệp docker tương ứng chứa tất cả các hướng dẫn để xây dựng hình ảnh vùng chứa Chuyển đến thư mục Docker và tạo hai thư mục cho bộ chứa php và db Hai dockerfiles sẽ giống như. Ngừng lãng phí thời gian trên máy chủCloudways xử lý việc quản lý máy chủ cho bạn để bạn có thể tập trung vào việc tạo các ứng dụng tuyệt vời và giữ cho khách hàng của mình hài lòng php DockerfileTệp bắt đầu bằng định nghĩa của ảnh cơ sở (trong trường hợp này là tệp PHP 5. 6 hình ảnh cơ sở). Bạn có thể dễ dàng thiết lập hình ảnh cơ sở mong muốn tùy thuộc vào nhu cầu của ứng dụng của bạn. Tiếp theo, tôi đã sao chép một số tệp vào vùng chứa Bạn cũng có thể thích. Cách nâng cấp từ PHP 5. X sang PHP 7 db DockerfileTrong dockerfile này, tôi đã sử dụng MySQL 5. 6 làm hình ảnh cơ bản. Khi một vùng chứa được khởi tạo, một cơ sở dữ liệu mới có tên đã chỉ định sẽ được tạo. Tôi cũng đã bao gồm tệp kết xuất SQL của cơ sở dữ liệu sẽ được thực thi ngay khi máy chủ được tạo (vì vị trí của nó trong /docker-entrypoint-initdb. đ) Khi tất cả các tệp đã được tạo, hãy chuyển đến thư mục gốc của ứng dụng và chạy lệnh sau docker-compose up -d Lệnh này sẽ khởi động các thùng chứa trong nền. Lần đầu tiên khởi chạy có thể chậm vì phải tải xuống tất cả các hình ảnh cơ sở. Tuy nhiên, tất cả các lần ra mắt tiếp theo nhanh hơn nhiều Lưu ý rằng tôi cũng đã sao chép tệp máy chủ (có văn bản sau) trong vùng chứa 127.0.0.1 blogsite.com Bây giờ, bạn có thể truy cập ứng dụng bằng cách truy cập http. //máy chủ cục bộ. 8000. Vì tôi cũng đã sao chép tệp máy chủ của mình trong vùng chứa, tôi cũng có thể truy cập ứng dụng bằng cách truy cập URL, http. // trang blog. com Bạn có thể xem các vùng chứa đang hoạt động của mình thông qua lệnh này docker ps Đây là một đầu ra mẫu Bạn cũng có thể truy cập vùng chứa thông qua docker exec -it bash Thấy. Dockerize ứng dụng PHP đơn giản như thế nào. Do trọng lượng nhẹ, nó có thể dễ dàng bị phá hủy và tạo lại chỉ trong tích tắc Đánh giá của khách hàng tại “Dịch vụ lưu trữ trên nền tảng đám mây có một trong những dịch vụ khách hàng tốt nhất và tốc độ lưu trữ”Sanjit C [Nhà phát triển trang web] Ali AzmiAli Azmi là Kỹ sư DevOps liên kết tại Cloudways - Nền tảng lưu trữ đám mây PHP được quản lý. Anh ấy có kỹ năng phát triển các ứng dụng PHP, đặc biệt là trong Laravel. Anh ấy đam mê đóng góp cho các dự án mã nguồn mở |