Hướng dẫn php docker-compose
I. Giới thiệuTrong những năm qua, Docker trở thành 1 giải pháp thường xuyên được sử dụng để triển khai nhanh các ứng dụng nhờ vào đơn giản hóa việc chạy và triển khai các ứng dụng trong Show Docker Compose đã đơn giản hóa hơn nữa quá trình phát triển bằng cách cho phép các nhà phát triển xác
định cơ sở hạ tầng của họ, bao gồm các dịch vụ ứng dụng ( Trong hướng dẫn này, bạn sẽ xây dựng một ứng dụng web Laravel, với II. Xây dựng ứng dụng1. Tải Laravel và cài đặt các DependenciesỞ bước này, chúng ta cài đặt Laravel, các bạn có thể vào doc của Laravel để xem lại cách cài tại đây Đầu tiên, các bạn vào thư mục làm việc của các bạn (ở đây tôi chọn
Đi vào thư mục laravel-app vừa được tạo ra
Tiếp theo, sử dụng Docker composer image để mount (gắn kết) các thư mục mà bạn cần trong project và tránh việc phải cài Composer globally Sử dụng -v và -rm với docker run tạo ra các container, các container này sẽ được kết nối với thư mục của bạn hiện tại trước khi bị xóa. Việc này sẽ copy thư mục laravel-app của bạn vào container và đảm bảo rằng thư mục vendor được tạo bên trong là bản copy của thư mục gốc của bạn Cuối cùng, ta cấp quyền trên thư mục project với quyền non-root user:
2. Tạo Docker Compose FileXây dựng các ứng dụng của bạn với Docker Compose sẽ giúp bạn đơn giản hóa việc phải thiết lập hạ tầng. Để thiết lập ứng dụng Laravel, chúng ta sẽ một file Trong thư mục
Giải thích
file
3. Tạo DockerfileCác bạn tạo 1 file là
Giải thích file Dockerfile 1 chút:
4. Cấu hình PHPBây giờ bạn xác định cơ sở hạ tầng thông qua docker-compose.yml, bạn có thể cấu hình dịch vụ PHP để hoạt động xử lý các yêu cầu đến từ Nginx Để cấu hình PHP, bạn sẽ tạo tệp local.ini bên trong thư mục ~/laravel-app/php. Đây là tệp mà bạn đã gắn kết với
/usr/local/etc/php/conf.d/local.ini bên trong vùng chứa trong phần 2. Tạo tệp này sẽ cho phép bạn ghi đè tệp 5. Cấu hình NginxĐể cấu hình cho Nginx, bạn tạo 1 file app.conf bên trong thư mục ~/laravel-app/nginx/conf.d/, với nội dung:
6. Cấu hình MySQLTạo file my.cnf bên trong thư mục ~/laravel-app/mysql với nội dung
7. Chạy các container và sửa cấu hình môi trườngBây giờ bạn đã xác định tất cả các dịch vụ của mình trong docker-compose và tạo các tệp cấu hình cho các dịch vụ này, bạn có thể khởi động các container. Tuy nhiên, là bước cuối cùng, chúng ta sẽ tạo file .env từ .env.example để xác định môi trường trong ứng dụng Laravel.
Chúng ta sẽ cấu hình cụ thể khi chúng ta bắt đầu chạy container. Với tất cả các dịch vụ được xác định trong tệp docker-compose, bạn chỉ cần đưa ra một lệnh duy nhất để bắt đầu tất cả các vùng chứa, tạo khối lượng và thiết lập và kết nối các mạng:
Khi bạn chạy docker-compose lần đầu tiên, nó sẽ tải xuống tất cả các image Docker cần thiết. Khi image được tải xuống và lưu
trữ trong máy cục bộ của bạn, Compose sẽ tạo các container. Cờ Bạn có thể sửa đổi cấu hình .env trong container bằng lệnh
ngoài ra các bạn chạy thêm
Kết quả các bạn sẽ thấy như sau:
Chúc các bạn thành công !Nguồn: https://www.digitalocean.com/community/tutorials/how-to-set-up-laravel-nginx-and-mysql-with-docker-compose |