Files
gh-poindexter12-waypoint-te…/skills/docker/SKILL.md
2025-11-30 08:47:38 +08:00

122 lines
3.8 KiB
Markdown

---
name: docker
description: |
Docker and Docker Compose reference for container deployment, networking, volumes,
and orchestration. Includes Proxmox hosting and LXC comparison patterns.
Use when working with docker-compose.yaml, Dockerfiles, troubleshooting containers,
or planning container architecture.
Triggers: docker, compose, container, dockerfile, volume, network, service, lxc.
---
# Docker Skill
Docker and Docker Compose reference for containerized application deployment and management.
## Quick Reference
```bash
# Container operations
docker ps # List running containers
docker ps -a # List all containers
docker logs <container> # View logs
docker logs -f <container> # Follow logs
docker exec -it <container> sh # Shell into container
docker inspect <container> # Full container details
# Compose operations
docker compose up -d # Start services (detached)
docker compose down # Stop and remove
docker compose ps # List compose services
docker compose logs -f # Follow all logs
docker compose pull # Pull latest images
docker compose restart # Restart services
# Troubleshooting
docker stats # Resource usage
docker network ls # List networks
docker network inspect <net> # Network details
docker volume ls # List volumes
docker system df # Disk usage
docker system prune # Clean up unused resources
```
## Reference Files
Load on-demand based on task:
| Topic | File | When to Load |
|-------|------|--------------|
| Compose Structure | [compose.md](references/compose.md) | Writing docker-compose.yaml |
| Networking | [networking.md](references/networking.md) | Network modes, port mapping |
| Volumes | [volumes.md](references/volumes.md) | Data persistence, mounts |
| Dockerfile | [dockerfile.md](references/dockerfile.md) | Building images |
| Troubleshooting | [troubleshooting.md](references/troubleshooting.md) | Common errors, diagnostics |
### Proxmox Integration
| Topic | File | When to Load |
|-------|------|--------------|
| Docker on Proxmox | [proxmox/hosting.md](references/proxmox/hosting.md) | VM sizing, storage, GPU passthrough |
| LXC vs Docker | [proxmox/lxc-vs-docker.md](references/proxmox/lxc-vs-docker.md) | Choosing container type |
## Compose File Quick Reference
```yaml
name: myapp # Project name (optional)
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
networks:
- frontend
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
networks:
frontend:
driver: bridge
volumes:
data:
```
## Validation Checklist
Before deploying containers:
- [ ] Services defined with specific image tags (not :latest)
- [ ] Port mappings without conflicts
- [ ] Volumes for persistent data
- [ ] Networks configured appropriately
- [ ] Resource limits set (memory, CPU)
- [ ] Health checks for critical services
- [ ] Restart policy appropriate
- [ ] Secrets not in images or compose file
- [ ] .env file for environment variables
## Network Mode Quick Decision
| Mode | Use Case | Isolation |
|------|----------|-----------|
| bridge | Default, most services | Container isolated |
| host | Performance, network tools | No isolation |
| macvlan | Direct LAN access | Own MAC/IP |
| ipvlan | Like macvlan, shared MAC | Own IP |
| none | No networking | Full isolation |
## Volume Type Quick Decision
| Type | Use Case | Portability |
|------|----------|-------------|
| Named volume | Database, app data | Best |
| Bind mount | Config files, dev | Host-dependent |
| tmpfs | Secrets, cache | Memory only |