Skip to content

Instantly share code, notes, and snippets.

@greenido
Created November 22, 2024 22:19
Show Gist options
  • Save greenido/8e8db76e5e9f6d4eb24889f39701470e to your computer and use it in GitHub Desktop.
Save greenido/8e8db76e5e9f6d4eb24889f39701470e to your computer and use it in GitHub Desktop.
Docker Commands Cheat Sheet - Most Useful Commands

Docker Commands Cheat Sheet - Most Useful Commands 🌻

Container Management

  1. Run a container
docker run [OPTIONS] IMAGE [COMMAND]
# Example: Run nginx in detached mode with port mapping
docker run -d -p 80:80 nginx
  1. List containers
# List running containers
docker ps
# List all containers (including stopped)
docker ps -a
  1. Stop container
docker stop [CONTAINER_ID/NAME]
  1. Remove container
# Remove a stopped container
docker rm [CONTAINER_ID/NAME]
# Force remove a running container
docker rm -f [CONTAINER_ID/NAME]
  1. Execute command in container
docker exec -it [CONTAINER_ID/NAME] [COMMAND]
# Example: Open shell in container
docker exec -it my-container bash

Image Management

  1. Build image
docker build -t [NAME:TAG] .
# Example: Build with specific Dockerfile
docker build -f Dockerfile.prod -t myapp:prod .
  1. List images
docker images
  1. Remove image
docker rmi [IMAGE_ID/NAME]
  1. Pull image
docker pull [IMAGE_NAME]:[TAG]
  1. Push image
docker push [IMAGE_NAME]:[TAG]

Container Information

  1. View container logs
docker logs [CONTAINER_ID/NAME]
# Follow log output
docker logs -f [CONTAINER_ID/NAME]
  1. Container resource usage
docker stats [CONTAINER_ID/NAME]
  1. Inspect container
docker inspect [CONTAINER_ID/NAME]

Network Management

  1. List networks
docker network ls
  1. Create network
docker network create [NETWORK_NAME]
  1. Connect container to network
docker network connect [NETWORK_NAME] [CONTAINER_ID/NAME]

Volume Management

  1. Create volume
docker volume create [VOLUME_NAME]
  1. List volumes
docker volume ls
  1. Remove volume
docker volume rm [VOLUME_NAME]

Docker Compose

  1. Start services
docker-compose up
# Detached mode
docker-compose up -d
  1. Stop services
docker-compose down
  1. View service logs
docker-compose logs [SERVICE_NAME]

System Management

  1. System information
docker info
  1. Clean up system
# Remove unused resources
docker system prune
# Remove all unused images
docker system prune -a
  1. View disk usage
docker system df

Advanced Commands

  1. Export container
docker export [CONTAINER_ID] > container.tar
  1. Import container
docker import container.tar [IMAGE_NAME]
  1. Save image
docker save [IMAGE_NAME] > image.tar
  1. Load image
docker load < image.tar
  1. View container changes
docker diff [CONTAINER_ID/NAME]

Useful Options for docker run

Common options you can add to docker run:

-d              # Run in detached mode
-p HOST:CONTAINER  # Port mapping
-v HOST:CONTAINER  # Volume mounting
--name          # Assign container name
--rm            # Remove container when stopped
-e KEY=VALUE    # Set environment variables
--network       # Connect to network
--restart       # Restart policy

Example with multiple options:

docker run -d \
  --name my-app \
  -p 3000:3000 \
  -v $(pwd):/app \
  -e NODE_ENV=production \
  --restart always \
  my-app:latest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment