Docker Commands
Quick reference for Docker Compose commands used with FOVEA.
Starting and Stopping Services
Command | Description |
---|---|
docker compose up | Start all services (default CPU mode) |
docker compose up -d | Start services in background (detached) |
docker compose --profile gpu up | Start with GPU support |
docker compose down | Stop and remove all services |
docker compose stop | Stop services without removing |
docker compose start | Start stopped services |
docker compose restart backend | Restart specific service |
Examples:
Start all services in foreground (see logs in terminal):
docker compose up
Start services in background:
docker compose up -d
Stop all services:
docker compose down
Viewing Logs
Command | Description |
---|---|
docker compose logs | View logs from all services |
docker compose logs -f | Follow logs in real-time |
docker compose logs backend | View logs from specific service |
docker compose logs -f --tail=100 backend | Follow last 100 lines |
Examples:
View all logs:
docker compose logs
Follow backend logs in real-time:
docker compose logs -f backend
View last 50 lines from model service:
docker compose logs --tail=50 model-service
Shell Access
Command | Description |
---|---|
docker compose exec backend sh | Open shell in backend container |
docker compose exec -it postgres psql -U fovea | PostgreSQL shell |
docker compose exec redis redis-cli | Redis CLI |
docker compose exec model-service bash | Model service bash |
Examples:
Access backend shell:
docker compose exec backend sh
Access PostgreSQL database:
docker compose exec -it postgres psql -U fovea fovea
Access Redis CLI:
docker compose exec redis redis-cli
Database Operations
Command | Description |
---|---|
docker compose exec backend npx prisma migrate dev | Run pending migrations |
docker compose exec backend npx prisma studio | Open Prisma Studio |
docker compose exec postgres pg_dump -U fovea fovea > backup.sql | Backup database |
docker compose exec -T postgres psql -U fovea fovea < backup.sql | Restore database |
Examples:
Run database migrations:
docker compose exec backend npx prisma migrate dev
Create database backup:
docker compose exec postgres pg_dump -U fovea fovea > backup.sql
Restore from backup:
docker compose exec -T postgres psql -U fovea fovea < backup.sql
Building and Cleaning Up
Command | Description |
---|---|
docker compose build | Rebuild all service images |
docker compose build --no-cache backend | Rebuild without cache |
docker compose pull | Pull latest images |
docker system prune | Remove unused containers, networks, images |
docker volume prune | Remove unused volumes (CAUTION: data loss) |
Examples:
Rebuild all services:
docker compose build
Rebuild backend without cache:
docker compose build --no-cache backend
Clean up unused Docker resources:
docker system prune
Warning: docker volume prune
will delete all unused volumes, including database data. Only use if you understand the consequences.
Service Management
Check service status:
docker compose ps
View resource usage:
docker compose stats
Restart a specific service:
docker compose restart backend
Stop a specific service:
docker compose stop frontend
Start a specific service:
docker compose start frontend
Common Workflows
Full Stack Restart
Restart all services:
docker compose restart
Rebuild After Code Changes
Rebuild and restart affected service:
docker compose build backend
docker compose up -d --no-deps backend
View Live Logs from Multiple Services
docker compose logs -f backend model-service
Clean Restart
Stop everything, remove containers, rebuild, start:
docker compose down
docker compose build
docker compose up -d
Database Reset
Stop services, remove volumes, restart:
docker compose down -v
docker compose up -d
Warning: This deletes all data.
Troubleshooting Commands
Check if containers are running:
docker compose ps
Inspect container details:
docker compose inspect backend
View container resource usage:
docker compose stats
Check container logs for errors:
docker compose logs backend | grep -i error
Restart unhealthy container:
docker compose restart backend
Next Steps
- Review Environment Variables for configuration options
- Explore Service Ports for network configuration
- Read about Docker Profiles for deployment modes