| name | docker-deploy |
| version | 1.0.0 |
| description | Deploy, update, and manage Docker Compose services in production. |
| author | ZeptoClaw |
| license | MIT |
| tags | ["docker","devops","deployment"] |
| metadata | {"zeptoclaw":{"emoji":"🐳","requires":{"anyBins":["docker"]}}} |
Docker Deploy Skill
Deploy and manage containerized services with Docker and Docker Compose.
Deploy / Update a Service
docker compose pull && docker compose up -d
docker compose up -d --force-recreate --no-deps api
docker compose up -d --scale api=2 --no-recreate
docker compose up -d --scale api=1
Check Status
docker compose ps
docker compose logs -f --tail=100 api
docker stats --no-stream
docker inspect $(docker compose ps -q api)
Common Operations
docker compose exec api bash
docker compose exec db psql -U postgres mydb
docker compose run --rm api python manage.py migrate
docker cp $(docker compose ps -q api):/app/logs/error.log ./error.log
docker compose down && docker compose up -d
Cleanup
docker system prune -f
docker volume ls
docker system prune -f --volumes
docker rmi myapp:old-tag
Deployment Workflow (Production)
git pull origin main
docker compose build --no-cache api
docker compose up -d --no-deps api
docker compose ps api
docker compose logs --tail=50 api
docker compose up -d --no-deps api --image myapp:previous-tag
Tips
- Always use
--no-deps when restarting a single service — avoids restarting dependencies
docker compose pull before up -d ensures you get the latest image tag
- Health checks in
docker-compose.yml prevent traffic before the app is ready
- Keep
.env on the server — never deploy it with rsync/git (it contains secrets)