| name | docker |
| description | Build, run, and manage Docker containers and images. Use when the user asks about containers, Docker builds, logs, or deployment. |
| metadata | {"ccbot":{"emoji":"🐳","requires":{"bins":["docker"]}}} |
Docker Skill
Use docker and docker compose via the Bash tool.
Build Image
docker build -t myapp:latest .
docker build -t myapp:v1.2.0 \
--build-arg NODE_ENV=production \
-f deploy/Dockerfile \
.
docker buildx build --platform linux/amd64,linux/arm64 \
-t ghcr.io/owner/myapp:latest --push .
Run Container
docker run --rm -it myapp:latest
docker run -d \
--name myapp \
-p 8080:8080 \
-v "$(pwd)/data:/data" \
-e DATABASE_URL="$DATABASE_URL" \
--restart unless-stopped \
myapp:latest
Container Management
docker ps
docker ps -a
docker logs myapp -f
docker logs myapp --tail 100
docker exec -it myapp bash
docker exec myapp cat /etc/hosts
docker stop myapp
docker rm myapp
docker rm -f myapp
Image Management
docker images
docker pull ghcr.io/owner/app:latest
docker rmi old-image:v1.0
docker tag myapp:latest myapp:v1.2.0
docker push ghcr.io/owner/app:latest
Docker Compose
docker compose up -d
docker compose down
docker compose down -v
docker compose logs -f web
docker compose exec web bash
docker compose ps
docker compose restart web
System Cleanup
docker system prune -f
docker system prune -af
docker volume prune -f
docker system df
Inspect & Debug
docker inspect myapp | python3 -m json.tool
docker stats --no-stream
docker port myapp
docker network ls
docker network inspect bridge
Registry Login
echo "$GITHUB_TOKEN" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin
docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_TOKEN"
Tips
- Use
--rm for one-off containers that should auto-clean up.
- Always pin image versions in production (
myapp:v1.2.0 not latest).
- Use
docker compose for multi-container setups.
- Check resource usage with
docker stats before running heavy builds.