Bắt đầu Laravel với Docker

0 0 0

Người đăng: Trung Kiên Trần

Theo Viblo Asia

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

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...

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp kiến thức cần biết về Docker và Docker Swarm (Phần 1 - Tổng quan về Docker)

I. Docker là gì.

0 0 41

- vừa được xem lúc

PHP websites sử dụng Docker Containers với PHP, Apache2 và MySQL

Xem lại series về các lệnh cơ bản trong docker: PHẦN 1, PHẦN 2, PHẦN 3. Docker là một nền tảng để cung cấp cách để building, deploying và running ứng dụng dễ dàng hơn bằng cách sử dụng các containers.

0 0 64

- vừa được xem lúc

[Docker] Golang Create and Build Image đơn giản.

Giới Thiệu. Trong một vài năm gần đây thì ngôn ngữ lập trình Golang cực kì hot, vì hot nến thị trường công việc cũng như tuyển dụng vô cùng đa dạng.

0 0 39

- vừa được xem lúc

Cách truyền dữ liệu môi trường động của docker vào dự án Reactjs

Bài viết này sẽ hướng dẫn mọi người cách đưa dữ liệu môi trường docker vào trong dự án reactjs mà không cần phải rebuild lại image. Do đây là bài viết đầu tiên nên mong mọi người ủng hộ và đồng hành v

0 0 17

- vừa được xem lúc

Tối ưu chi phí khi xây dựng và publish một trang web

Việc triển khai trang web là một trong những nhiệm vụ quen thuộc của người lập trình. Tuy vậy, để tối ưu các chi phí về tài nguyên, nguồn lực và thời gian trong quá trình phát triển và phát hành web v

0 0 22

- vừa được xem lúc

Setup Boilerplate cho dự án NestJS - Phần 1: Team có nhiều thành viên - Env, Joi, Husky, Commitlint, Prettier, Dockerizing

Xin chào mọi người, ở bài viết trước chúng ta đã tìm hiểu sơ qua về Request Lifecycle để biết được cách request hoạt động như thế nào trong NestJS. Hôm nay mình sẽ đi vào sâu hơn trong quá trình lập t

0 0 20