Docker Essentials

Essential Docker commands and workflows for container management, image operations, and debugging.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
23 · 21.7k · 233 current installs · 241 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill's name and content are a straightforward Docker command reference — that purpose matches the content. Minor inconsistency: registry metadata reported no required binaries, but the SKILL.md embedded metadata lists 'docker' under required bins. Requiring the Docker CLI is expected for this skill; the mismatch is likely a metadata packaging oversight.
Instruction Scope
SKILL.md contains only example Docker and docker-compose commands and workflows (run, build, exec, volumes, networks, pruning, etc.). It does not instruct the agent to read host files, search system state, access external endpoints, or exfiltrate secrets. Examples do show mounting host paths and passing env vars (e.g., POSTGRES_PASSWORD=secret) — normal for examples but potentially risky if copied verbatim.
Install Mechanism
No install spec or code files — instruction-only. That is low risk because nothing is downloaded or written by the skill itself.
Credentials
The skill declares no required environment variables or credentials. The SKILL.md uses example environment variables in commands but does not request access to any secrets or unrelated services; this is proportionate.
Persistence & Privilege
always:false and user-invocable:true (defaults). The skill does not request permanent presence or elevated platform privileges and does not modify other skills or system-wide agent settings.
Assessment
This appears to be a benign, read-only Docker cheat sheet. Things to consider before installing: (1) SKILL.md indicates the Docker CLI is required — ensure you have a trusted docker installation. (2) Examples include mounting host paths and passing environment variables (including DB passwords) — avoid copying examples with secrets or mounting sensitive host directories into containers. (3) The skill is instruction-only and makes no secret requests, but if you allow an autonomous agent to execute Docker commands on your host, those commands will have real effects on your system; only permit execution if you trust the agent and the images you run. (4) The minor metadata mismatch about required binaries is likely harmless but you may want the publisher to correct it for clarity.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97a5jqst0etanp3gy2w8701f9805cf3

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🐳 Clawdis
Binsdocker

SKILL.md

Docker Essentials

Essential Docker commands for container and image management.

Container Lifecycle

Running containers

# Run container from image
docker run nginx

# Run in background (detached)
docker run -d nginx

# Run with name
docker run --name my-nginx -d nginx

# Run with port mapping
docker run -p 8080:80 -d nginx

# Run with environment variables
docker run -e MY_VAR=value -d app

# Run with volume mount
docker run -v /host/path:/container/path -d app

# Run with auto-remove on exit
docker run --rm alpine echo "Hello"

# Interactive terminal
docker run -it ubuntu bash

Managing containers

# List running containers
docker ps

# List all containers (including stopped)
docker ps -a

# Stop container
docker stop container_name

# Start stopped container
docker start container_name

# Restart container
docker restart container_name

# Remove container
docker rm container_name

# Force remove running container
docker rm -f container_name

# Remove all stopped containers
docker container prune

Container Inspection & Debugging

Viewing logs

# Show logs
docker logs container_name

# Follow logs (like tail -f)
docker logs -f container_name

# Last 100 lines
docker logs --tail 100 container_name

# Logs with timestamps
docker logs -t container_name

Executing commands

# Execute command in running container
docker exec container_name ls -la

# Interactive shell
docker exec -it container_name bash

# Execute as specific user
docker exec -u root -it container_name bash

# Execute with environment variable
docker exec -e VAR=value container_name env

Inspection

# Inspect container details
docker inspect container_name

# Get specific field (JSON path)
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name

# View container stats
docker stats

# View specific container stats
docker stats container_name

# View processes in container
docker top container_name

Image Management

Building images

# Build from Dockerfile
docker build -t myapp:1.0 .

# Build with custom Dockerfile
docker build -f Dockerfile.dev -t myapp:dev .

# Build with build args
docker build --build-arg VERSION=1.0 -t myapp .

# Build without cache
docker build --no-cache -t myapp .

Managing images

# List images
docker images

# Pull image from registry
docker pull nginx:latest

# Tag image
docker tag myapp:1.0 myapp:latest

# Push to registry
docker push myrepo/myapp:1.0

# Remove image
docker rmi image_name

# Remove unused images
docker image prune

# Remove all unused images
docker image prune -a

Docker Compose

Basic operations

# Start services
docker-compose up

# Start in background
docker-compose up -d

# Stop services
docker-compose down

# Stop and remove volumes
docker-compose down -v

# View logs
docker-compose logs

# Follow logs for specific service
docker-compose logs -f web

# Scale service
docker-compose up -d --scale web=3

Service management

# List services
docker-compose ps

# Execute command in service
docker-compose exec web bash

# Restart service
docker-compose restart web

# Rebuild service
docker-compose build web

# Rebuild and restart
docker-compose up -d --build

Networking

# List networks
docker network ls

# Create network
docker network create mynetwork

# Connect container to network
docker network connect mynetwork container_name

# Disconnect from network
docker network disconnect mynetwork container_name

# Inspect network
docker network inspect mynetwork

# Remove network
docker network rm mynetwork

Volumes

# List volumes
docker volume ls

# Create volume
docker volume create myvolume

# Inspect volume
docker volume inspect myvolume

# Remove volume
docker volume rm myvolume

# Remove unused volumes
docker volume prune

# Run with volume
docker run -v myvolume:/data -d app

System Management

# View disk usage
docker system df

# Clean up everything unused
docker system prune

# Clean up including unused images
docker system prune -a

# Clean up including volumes
docker system prune --volumes

# Show Docker info
docker info

# Show Docker version
docker version

Common Workflows

Development container:

docker run -it --rm \
  -v $(pwd):/app \
  -w /app \
  -p 3000:3000 \
  node:18 \
  npm run dev

Database container:

docker run -d \
  --name postgres \
  -e POSTGRES_PASSWORD=secret \
  -e POSTGRES_DB=mydb \
  -v postgres-data:/var/lib/postgresql/data \
  -p 5432:5432 \
  postgres:15

Quick debugging:

# Shell into running container
docker exec -it container_name sh

# Copy file from container
docker cp container_name:/path/to/file ./local/path

# Copy file to container
docker cp ./local/file container_name:/path/in/container

Multi-stage build:

# Dockerfile
FROM node:18 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html

Useful Flags

docker run flags:

  • -d: Detached mode (background)
  • -it: Interactive terminal
  • -p: Port mapping (host:container)
  • -v: Volume mount
  • -e: Environment variable
  • --name: Container name
  • --rm: Auto-remove on exit
  • --network: Connect to network

docker exec flags:

  • -it: Interactive terminal
  • -u: User
  • -w: Working directory

Tips

  • Use .dockerignore to exclude files from build context
  • Combine RUN commands in Dockerfile to reduce layers
  • Use multi-stage builds to reduce image size
  • Always tag your images with versions
  • Use --rm for one-off containers
  • Use docker-compose for multi-container apps
  • Clean up regularly with docker system prune

Documentation

Official docs: https://docs.docker.com/ Dockerfile reference: https://docs.docker.com/engine/reference/builder/ Compose file reference: https://docs.docker.com/compose/compose-file/

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…