1. Cài đặt Laravel trên docker
- Tạo folder laravel để chứa các file cấu hình docker
Tạo file Dockerfile với nội dung như sau
FROM eglife/base-php8.2-laravel:1.0.0 WORKDIR /var/www RUN apt-get update RUN apt-get install -y zlib1g-dev libicu-dev g++ RUN docker-php-ext-configure intl RUN docker-php-ext-install intl
Tạo file docker-compose.yaml với nội dung như sau
version: '3.8' services: laravel: build: context: . dockerfile: ./Dockerfile container_name: laravel volumes: - ./projects:/var/www/projects networks: - pc_network ports: - 8000:8000 networks: pc_network: name: pc_network driver: bridge
- Tạo folder projects để mount file giữa host và dockerMount được cấu hình ở file docker-compose.yaml ở trên
volumes: - ./projects:/var/www/projects
- Build docker
docker compose up --build
- Start dockerTắt cửa sổ build docker. Tại folder laravel ngoài máy host chạy lệnh sau để start docker
docker start laravel
2.Tạo project Laravel
- Truy cập vào docker
docker exec -it laravel bash cd projects/
- Tạo project Laravel
composer create-project --prefer-dist laravel/laravel myapp
3.Run project
- Chạy qua artisan serve command
cd myapp php artisan serve --host=0.0.0.0
- Truy cập vào trình duyệt qua http://localhost:8000/ để test
4.Tip: Setting mount thư mục vendor
Do thư mục vendor chứa rất nhiều file nên việc mount giữa host và docker gây nên chạy project rất chậm (Đặc biệt là trên window) nên cần setting thư mục vendor theo kiểu bind mounts.
Xóa thư mục vendor trong docker (Chỉ thực hiện trong trường hợp tạo mới project, còn project lấy từ git về thì không cần )
rm -rf vendor
- Thêm setting bind mount vào docker-compose.yamlThêm dòng được bôi vàng bên dưới vào file docker-compose.yaml
version: '3.8' services: laravel: build: context: . dockerfile: ./Dockerfile container_name: laravel volumes: - ./projects:/var/www/projects - vendor_myapp:/var/www/projects/myapp/vendor networks: - pc_network ports: - 8000:8000 volumes: vendor_myapp: name: vendor_myapp networks: pc_network: name: pc_network driver: bridge
- Tại folder laravel ngoài máy host chạy lệnh sau để apply thay đổi của file docker-compose.yaml
docker compose up -d
- Tạo lại thư mục vendor bên trong docker
docker exec -it laravel bash cd projects/myapp/ composer install
- Copy thư mục vendor ra bên ngoài máy host để VS Code có thể index
zip -r vendor.zip vendor

- Extra file zip



- Xóa file vendor.zip đã tạo trước đó ngoài thư mục gốc
Leave a comment
Your email address will not be published. Required fields are marked *