Docker compose services for Laravel.
- php8.2
- nginx
- mysql
- phpmyadmin (if need, uncomment in the docker-compose.yml)
- composer
- artisan
- node js
- localhost (:80) - ngnix
- localhost:8080 - phpmyadmin (default credentials: db, root, password)
- localhost:5173 - vite server (to make available
npm run dev
)
- Docker + docker compose
- Check services you need in the docker-compose.yml
- Run cmd in terminal
sh make.sh
- Update .env
DB_HOST=db DB_PASSWORD=password
- Update vite.config.js with server settings (to make available
npm run dev
)export default defineConfig({ server: { host: '0.0.0.0', port: 5173, hmr: { host: '127.0.0.1', }, }, plugins: [ ...
- Add to .gitignore
docker-compose/mysql
- Replace git repository for your project
- Run cmd in terminal
rm -rf .git
- Run cmd in terminal
git init
- Run cmd in terminal
Now you have new Laravel app in docker services and it's available on http://localhost
- Clone files to your project
- Check services you need in the docker-compose.yml
- Run cmd in terminal
docker compose up -d --build
- Update .env
DB_HOST=db DB_PASSWORD=password
- Add to .gitignore
docker-compose/mysql
Now you can have your laravel app in docker services and it's available on http://localhost
docker compose down
docker compose up -d
# Some examples
docker compose exec app php -v
docker compose exec app node -v
docker compose exec app composer -v
docker compose exec app php artisan migrate
docker compose exec app npm install
docker compose exec app npm run dev
docker compose exec app composer require laravel/ui
docker compose exec app php artisan migrate
docker compose exec app php artisan make:controller AdminController
# or via docker container app terminal
docker compose exec -it app bash
php artisan migrate
... #any command
exit