Skip to main content

Docker Commands

Quick reference for Docker Compose commands used with FOVEA.

Starting and Stopping Services

CommandDescription
docker compose upStart all services (default CPU mode)
docker compose up -dStart services in background (detached)
docker compose --profile gpu upStart with GPU support
docker compose downStop and remove all services
docker compose stopStop services without removing
docker compose startStart stopped services
docker compose restart backendRestart 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

CommandDescription
docker compose logsView logs from all services
docker compose logs -fFollow logs in real-time
docker compose logs backendView logs from specific service
docker compose logs -f --tail=100 backendFollow 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

CommandDescription
docker compose exec backend shOpen shell in backend container
docker compose exec -it postgres psql -U foveaPostgreSQL shell
docker compose exec redis redis-cliRedis CLI
docker compose exec model-service bashModel 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

CommandDescription
docker compose exec backend npx prisma migrate devRun pending migrations
docker compose exec backend npx prisma studioOpen Prisma Studio
docker compose exec postgres pg_dump -U fovea fovea > backup.sqlBackup database
docker compose exec -T postgres psql -U fovea fovea < backup.sqlRestore 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

CommandDescription
docker compose buildRebuild all service images
docker compose build --no-cache backendRebuild without cache
docker compose pullPull latest images
docker system pruneRemove unused containers, networks, images
docker volume pruneRemove 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