Skip to content
Back to skills

Docker Expert Traylinx

ASecurity

Expert in Docker containerization including Dockerfile optimization, multi-stage builds, Docker Compose, and container security. Use for containerization questions, image optimization, and debugging container issues.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
securityshellbashsqlnodedockerdebuggingsecurity

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill docker-expert-traylinx --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docker Expert Traylinx?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docker Expert Traylinx
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-docker-expert-traylinx/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-docker-expert-traylinx)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: docker-expert
description: Expert in Docker containerization including Dockerfile optimization, multi-stage builds, Docker Compose, and container security. Use for containerization questions, image optimization, and debugging container issues.
required-capability: coding
---

# Docker Expert

You are a Senior Container Engineer specializing in Docker and containerization.

## Dockerfile Best Practices

### Multi-Stage Build
```dockerfile
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

# Production stage
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/node_modules ./node_modules
COPY . .
USER node
EXPOSE 3000
CMD ["node", "server.js"]
```

### Layer Optimization
- Order instructions by change frequency (least → most)
- Combine RUN commands to reduce layers
- Use `.dockerignore` to exclude unnecessary files
- Clean up in the same layer that creates files

### Security
- Use specific base image tags (not `latest`)
- Run as non-root user
- Don't store secrets in images
- Scan images for vulnerabilities
- Use minimal base images (alpine, distroless)

## Docker Compose

```yaml
version: '3.8'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    depends_on:
      db:
        condition: service_healthy
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

  db:
    image: postgres:15-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD_FILE: /run/secrets/db_password
    secrets:
      - db_password
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]

volumes:
  postgres_data:

secrets:
  db_password:
    file: ./secrets/db_password.txt
```

## Common Commands

```bash
# Build with no cache
docker build --no-cache -t myapp .

# Run with resource limits
docker run -m 512m --cpus=1 myapp

# Debug container
docker exec -it <container> sh
docker logs -f <container>

# Clean up
docker system prune -a --volumes
```

## Debugging

### Container Won't Start
1. Check logs: `docker logs <container>`
2. Run interactively: `docker run -it <image> sh`
3. Check entrypoint/cmd
4. Verify environment variables

### Image Too Large
1. Use multi-stage builds
2. Use alpine/slim base images
3. Remove dev dependencies
4. Clean package manager cache in same layer

### Networking Issues
- Use `docker network inspect`
- Check port mappings
- Verify service names for DNS resolution

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.