+1

Bắt đầu Laravel với Docker

Laravel + Docker + Ubuntu

Khi tạo 1 dự án mới, hoặc dự án đã có sẵn việc build môi trường phát triển bằng sail của Laravel hoặc sử dụng file docker-compose.yaml trong dự án để run nhiểu khả năng chúng ta sẽ bị chồng chéo config dẫn các images hay containers của các dự án local của chúng ta không hoạt động. Để tránhmất dữ liệu và bắt đầu nhanh với dự án, tập chung thời gian này để phát triển dự án. Bài viết này giới thiệu 1 package laradock, dùng docker để build môi trường cho các dự án.


Laravel

  • Support laravel-8 (php 7.4)
  • Support laravel-9 (php 8.0)
  • Support laravel-10 (php 8.1)
  • Support laravel-11 (php 8.2)

Docker

1. PHP Compilers

Cung câp các container đã được cài đặt sẵn môi trường php-fpm và node tùy version, để khi ssh vào container chúng ta có thể chạy php, composer và npm

Laravel 8 (php 7.4, node 20*x)

* image: laradock/servicesphp-fpm/php7.4
* container laradock_php74

Laravel 9 (php 8.0, node 20x)

* image: laradock/services/php-fpm/php7.4
* container laradock_php74

Laravel 10 (php 8.1, node 20x)

* image: laradock/services/php-fpm/php8.1
* container laradock_php81

Laravel 11 (php 8.2, node 22x)

* image: laradock/services/php-fpm/php8.2
* container laradock_php82

2. Web Servers

Cung câp các container dùng để xử lý các yêu cầu HTTP và chuyển chúng các ứng dụng Laravel (PHP-FPM) đã được setup trong hệ thống

Nginx, ngrok

 * image laradock/services/nginx
 * container laradock_nginx

3. Database Management Systems

Mysql 5.0

* image laradock/services/mysql5.0
* container laradock_mysql5

Mysql 8.0

* image laradock/services/mysql8.0
* container laradock_mysql8

4. Database Management Tools

phpmyadmin

*  image laradock/services/phpmyadmin
*  container laradock_phpmyadmin

5. Cache Engines

Redis

* image laradock/services/redis
* container laradock_redis

6. Mail Servers

Mailhog

* image laradock/services/mailhog
* container laradock_mailhog

Mailpit

* image laradock/services/mailpit
* container laradock_mailpit

7. Message Brokers

RabbitMQ

* image laradock/services/rabbitmq
* container laradock_rabbitmq

8. Image Processing

Imgproxy

* image laradock/services/rabbitmq
* container laradock_rabbitmq

Log Management (coming soon)

Real-time Communication (coming soon)

Search Engines (coming soon)

Cloud Tools (coming soon)


Bắt đầu sử dụng

Repo: https://gitlab.com/ttkbk96/laradock (master)

*cd tới thư mục laradock run: sudo ./laradock

image.png

1. Build docker-compose.yml

  • Chưa cài đặt lần nào chọn 4.Docker Build

2. Create new project Laravel

image.png

  • Cài đặt laravel từ 8 - 11 tự động 5. Create new project Laravel (bỏ qua nếu đã có dự án sẵn rồi tiệp tục với bước 3)

3. Setup new project Laravel

image.png

  • Bắt đầu setup dự án mới với 6. Setup new project Laravel ở đây nhập domain, chọn dự án, chọn version laravel sau đó việc cài đặt sẽ bắt đầu. Khi cài đặt xong cần cần build và re-start docker để sử dụng

4. SSH into project

image.png

  • Chọn 8. SSH into project để vào terminal của dự án để run npm, composer, php artisan ...

  • Các service khách như ngrok ... dùng tương tự, dựa vào base này chúng ta có thể build các containers, images cho phong phú thêm...


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.