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: php-fpm/php7.4
* container laradock_php74
Laravel 9 (php 8.0, node 20x)
* image: php-fpm/php7.4
* container laradock_php74
Laravel 10 (php 8.1, node 20x)
* image: php-fpm/php8.1
* container laradock_php81
Laravel 11 (php 8.2, node 22x)
* image: 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/nginx * container laradock_nginx
3. Database Management Systems
Mysql 5.0
* image mysql/mysql5.0
* container laradock_mysql5
Mysql 8.0
* image mysql/mysql8.0
* container laradock_mysql8
4. Database Management Tools
phpmyadmin
* image laradock/phpmyadmin
* container laradock_phpmyadmin
5. Cache Engines
Redis
* image laradock/redis
* container laradock_redis
6. Mail Servers
Mailhog
* image laradock/mailhog
* container laradock_mailhog
Mailpit
* image laradock/mailpit
* container laradock_mailpit
7. Message Brokers
RabbitMQ
* image laradock/rabbitmq
* container laradock_rabbitmq
Bắt đầu sử dụng
Repo: https://gitlab.com/ttkbk96/laradock (master)
*cd tới thư mục laradock run: sudo ./laradock
1. Build docker-compose.yml
- Chưa cài đặt lần nào chọn
4.Docker Build
2. Create new project Laravel
- 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
- 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
-
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...