Laravel Sail అంటే ఏమిటి?
Laravel Sail అనేది Docker Compose wrapper.
సాధారణ Dockerలో:
docker run ...
docker compose up ...
docker compose down ...
ఇలా commands ఇవ్వాలి.
కానీ Sailలో:
./vendor/bin/sail up
./vendor/bin/sail down
./vendor/bin/sail artisan migrate
అంటే Docker commands ని simplify చేస్తుంది.
📋 Prerequisites
Windowsలో:
✅ Docker Desktop Installed
Check:
docker --version
docker compose version
Expected:
Docker version 28.x
Docker Compose version v2.x
🚀 Existing Laravel Project Run చేయడం
నీ project folder కి వెళ్ళు.
ఉదాహరణ:
cd C:\xampp\htdocs\myproject
Step 1: .env Configure
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
⚠️ ముఖ్యమైన విషయం:
Dockerలో MySQL container name mysql
అందుకే:
❌
DB_HOST=127.0.0.1
కాదు
✅
DB_HOST=mysql
Step 2: Check docker-compose.yml
Laravel Sail install అయితే ఇలా ఉంటుంది:
services:
laravel.test:
build:
context: './vendor/laravel/sail/runtimes/8.3'
ports:
- '${APP_PORT:-80}:80'
mysql:
image: 'mysql/mysql-server:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
ఇక్కడ రెండు containers ఉన్నాయి:
- laravel.test
- mysql
Step 3: Start Containers
Linux/Mac:
./vendor/bin/sail up -d
Windows PowerShell:
vendor\bin\sail up -d
లేదా:
php artisan sail:install
తర్వాత:
vendor\bin\sail up -d
Step 4: Check Running Containers
docker ps
Example:
CONTAINER ID NAMES
abc123 myproject-laravel.test-1
xyz456 myproject-mysql-1
ఇప్పుడు రెండు containers run అవుతున్నాయి.
Step 5: Browser Open
http://localhost
లేదా
http://localhost:80
Laravel page కనిపిస్తుంది.
🗄️ MySQL Access
Container లోకి వెళ్లి:
vendor\bin\sail mysql
లేదా
docker exec -it myproject-mysql-1 mysql -u sail -p
Password:
password
🔄 Run Migrations
vendor\bin\sail artisan migrate
🌱 Run Seeders
vendor\bin\sail artisan db:seed
📦 Install Composer Packages
vendor\bin\sail composer install
⚡ Run NPM
vendor\bin\sail npm install
vendor\bin\sail npm run dev
🛑 Stop Containers
vendor\bin\sail down
🔥 Rebuild Containers
Dockerfile మారితే:
vendor\bin\sail build --no-cache
తర్వాత:
vendor\bin\sail up -d
🧠 Sail Architecture
Docker Engine
│
▼
Docker Compose
│
▼
┌─────────────────┐
│ laravel.test │
│ PHP 8.3 │
│ Composer │
│ Artisan │
└─────────────────┘
│
▼
┌─────────────────┐
│ mysql │
│ MySQL 8 │
└─────────────────┘
Laravel Container ↔ MySQL Container
Network ద్వారా communicate అవుతాయి.
అందుకే:
DB_HOST=mysql
పని చేస్తుంది.
Docker Beginnerగా నువ్వు తెలుసుకోవాల్సిన Sail Commands
vendor\bin\sail up -d
➡️ Start project
vendor\bin\sail down
➡️ Stop project
vendor\bin\sail artisan migrate
➡️ Run migrations
vendor\bin\sail tinker
➡️ Open tinker
vendor\bin\sail shell
➡️ Open container shell
docker ps
➡️ See containers
docker logs <container>
➡️ See logs
Docker నేర్చుకోవడానికి Laravel Sail చాలా మంచి practical example. Sail వాడుతూ నువ్వు క్రమంగా:
- Images
- Containers
- Networks
- Volumes
- Docker Compose
- Environment Variables
అన్నీ real-world projectలో నేర్చుకుంటావు.
నీ project లో docker-compose.yml లేదా compose.yaml file ఉంటే paste చేయి. నేను line-by-line తెలుగులో explain చేస్తాను.
Comments
Post a Comment
Thank you :)