Docker Essentials
Essential Docker commands and workflows for container management, image operations, and debugging.
Essential Docker commands and workflows for container management, image operations, and debugging.
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Essential Docker commands for container and image management.
# 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
# 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
# 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
# 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
# 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
# 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 .
# 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
# 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
# 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
# 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
# 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
# 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
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
docker run flags:
docker exec flags:
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/
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.