Hướng dẫn dùng docker-php-ext-install curl trong PHP
Hello xin chào mọi người. Ở bài viết trước, chúng ta đã cùng nhau tìm hiểu về Docker Compose và hiểu được cấu trúc cơ bản của nó thông qua 1 ví dụ nho nhỏ rồi. Vậy thì hôm nay, chúng ta thử sử dụng docker-compose để build một môi trường cho dự án Laravel để hiểu cách sử dụng cơ bản chứ nhỉ? Không dài dòng nữa, cùng chiến thôi nào ! Laravel với docker-compose1. Lưu ý
2. Cài đặt.Nếu bạn mới bắt đầu tìm hiểu về laravel thì có thể clone source code laravel từ https://github.com/laravel/laravel hoặc bạn có thể chọn phiên bản bạn cần download về và giải nén tại https://github.com/laravel/laravel/releases Còn nếu bạn đã dùng laravel rồi và đã cài đặt composer thì đây:
Tiếp tục nhé, giả sử bạn đã có source code một project laravel trên máy hoặc kéo từ github của bạn về. PHP-FPMNgoài việc cài các PHP extensions, chúng ta sẽ cài thêm một số công cụ vì đây là container thường được sử dụng để tương tác với Laravel thông qua lệnh php artisan như git, vim, cron để chạy Laravel cron hay composer (cần thêm unzip)… Tạo một file 7:
Vậy là bạn đã có docker-compose service đầu tiên:
NginxTiếp theo là container cho web server Nginx, có nhiệm vụ giao tiếp với PHP-FPM và trả về response cho client. Với service này, để tận dụng khả năng dùng lại các image có sẵn và giảm bớt việc phải build image, nên chúng ta không cần sử dụng custom Dockerfile, ở đây chỉ cần sử dụng image nginx và thực hiện mount file config:
Tạo 1 file 8 sẽ chứa configurate cho phép nginx có thể chạy được các file php:
MySQLTương tự, chúng ta cũng có thể dùng image mysql trực tiếp và tạo user, db qua init SQL file mà không cần custom image:
Sau khi hoàn tất các phần trên, chúng ta có file 9 hoàn thiện như sau:
3. Chạy dự án với docker-composeSau khi làm xong các bước trên, giờ bạn chỉ cần khởi động chương trình thôi:
Khi bạn chạy lệnh trên, docker sẽ tự động build image từ Dockerfile hoặc sẽ pull images đã được khai báo trong file 9.Lần đầu tiên chạy sẽ mất khoảng vài phút để xây dựng các container, nhưng từ lần thứ 2 trở đi là sẽ chạy luôn. 1Tiếp đến là chạy composer:
Thực hiện lệnh tạo file .env bằng cách copy từ file mẫu 2:
Tạo key để sử dụng laravel: 0
Sau đó, cấp quyền cho các thư mục cần thiết: 1Lưu ý: Khi các bạn sử dụng docker để triển khai trên môi trường production, các bạn nên set quyền phù hợp để đảm bảo bảo mật cho dự án. Mình sử dụng quyền 777 khi đang triển khai trên môi trường local. Để tìm hiểu về các quyền các bạn có thể tham khảo tại đây Để kiểm tra các images vừa xây dựng và các container đang chạy: 2Nếu dự án Laravel của bạn đã và đang được triển khai thì để có thể migrate database thì bạn cần phải sửa các biến môi trường trong file .env thành (Đây là các biến môi trường được đặt theo ví dụ): 3Sau khi các images và container đã sẵn sàng và được khởi chạy, hãy truy cập địa chỉ 4 trên browser để tận hưởng thành quá nhé.Một ngày học tập và làm việc đầy mệt mỏi đúng không? Để tắt các container thì các bạn chỉ cần sử dụng lệnh: 4Như vậy docker-compose sẽ tự động dừng lại tất cả các container services mà bạn đã khai báo bên trong file 9.Tổng kếtVậy là chúng ta vừa thử tích hợp docker vào dự án Laravel một cách cơ bản nhất. Bạn cảm thấy thế nào? Hãy để lại bình luận và góp ý cho mình để chúng ta cùng nhau phát triển nhé. Cảm ơn bạn đã dành thời gian cho bài viết của mình. Hẹn gặp vào bài viết tiếp theo của series Tìm hiểu về Docker nhé ! |