Docker Cheat Sheet
A searchable, printable Docker reference — images, containers, run options, Dockerfile, volumes, networks, Compose and cleanup. Free.
Images
10docker pull nginx:latest
Download an image from a registry
docker images
List locally stored images
docker build -t app:1.0 .
Build an image from the current dir
docker tag app:1.0 app:latest
Add a new tag to an existing image
docker rmi app:1.0
Remove a local image
docker history app:1.0
Show the layers of an image
docker inspect app:1.0
Show low-level image details (JSON)
docker save -o app.tar app:1.0
Export an image to a tar archive
docker load -i app.tar
Import an image from a tar archive
docker image prune
Remove dangling (unused) images
Containers
10docker ps
List running containers
docker ps -a
List all containers (incl. stopped)
docker run nginx
Create and start a new container
docker start web
Start a stopped container
docker stop web
Gracefully stop a container
docker restart web
Restart a container
docker kill web
Force-stop a container (SIGKILL)
docker rm web
Remove a stopped container
docker rename web api
Rename a container
docker pause web
Suspend all processes in a container
Run options
11docker run -d nginx
Run detached in the background
docker run -it ubuntu bash
Interactive terminal session
docker run --name web nginx
Assign a custom container name
docker run -p 8080:80 nginx
Map host port to container port
docker run -v data:/var/lib nginx
Mount a named volume
docker run -e ENV=prod app
Set an environment variable
docker run --rm alpine echo hi
Auto-remove after it exits
docker run --network mynet app
Attach to a specific network
docker run --restart unless-stopped app
Restart policy for the container
docker run -w /app node
Set the working directory
docker run --memory 512m --cpus 1.5 app
Limit memory and CPU usage
Exec & logs
10docker exec -it web bash
Open a shell inside a container
docker exec web ls /app
Run a one-off command in a container
docker logs web
Show the container logs
docker logs -f web
Follow (tail) logs in real time
docker top web
List processes running in a container
docker stats
Live resource usage of containers
docker attach web
Attach to a running container
docker cp web:/app/log.txt .
Copy files between host and container
docker port web
Show port mappings for a container
docker inspect web
Show low-level container details
Build & Dockerfile
14FROM node:20-alpine
Base image for the build
WORKDIR /app
Set the working directory
COPY . .
Copy files into the image
ADD app.tar.gz /app
Copy (and auto-extract archives/URLs)
RUN npm install
Execute a command at build time
ENV NODE_ENV=production
Set a persistent environment variable
ARG VERSION=1.0
Build-time argument
EXPOSE 3000
Document the listening port
VOLUME /data
Declare a mount point
USER node
Run as a non-root user
HEALTHCHECK CMD curl -f localhost
Define a container health check
CMD ['node', 'app.js']
Default command (overridable)
ENTRYPOINT ['docker-entrypoint.sh']
Fixed executable for the container
FROM build AS final
Multi-stage build stage reference
Volumes
10docker volume create data
Create a named volume
docker volume ls
List all volumes
docker volume inspect data
Show details of a volume
docker volume rm data
Remove a volume
docker volume prune
Remove all unused volumes
docker run -v data:/app nginx
Mount a named volume
docker run -v $(pwd):/app nginx
Bind-mount the current directory
docker run -v $(pwd):/app:ro nginx
Bind-mount read-only
docker run --mount type=volume,src=data,dst=/app nginx
Mount using the verbose syntax
docker run --tmpfs /tmp nginx
Mount an in-memory tmpfs
Networks
10docker network create mynet
Create a user-defined network
docker network ls
List networks
docker network inspect mynet
Show details of a network
docker network connect mynet web
Connect a container to a network
docker network disconnect mynet web
Disconnect a container from a network
docker network rm mynet
Remove a network
docker network prune
Remove all unused networks
docker network create -d bridge mynet
Create a network with a driver
docker run --network host nginx
Use the host network stack
docker run --network none alpine
Disable networking for a container
Docker Compose
11docker compose up -d
Start all services in the background
docker compose down
Stop and remove the stack
docker compose ps
List the services in the stack
docker compose logs -f
Follow logs from all services
docker compose build
Build or rebuild service images
docker compose pull
Pull the latest service images
docker compose exec web bash
Run a command in a running service
docker compose restart
Restart all services
docker compose stop
Stop services without removing them
docker compose config
Validate and view the merged config
docker compose up --scale web=3
Run multiple replicas of a service
Registry
8docker login
Authenticate to a registry
docker login registry.example.com
Log in to a custom registry
docker logout
Remove stored registry credentials
docker tag app user/app:1.0
Tag an image for a repository
docker push user/app:1.0
Upload an image to a registry
docker pull user/app:1.0
Download an image from a registry
docker search nginx
Search Docker Hub for images
docker manifest inspect nginx
Inspect a multi-arch manifest
System & cleanup
10docker info
Show system-wide Docker information
docker version
Show client and server versions
docker system df
Show Docker disk usage
docker system prune
Remove unused data (safe defaults)
docker system prune -a
Remove all unused images and data
docker container prune
Remove all stopped containers
docker image prune
Remove dangling images
docker volume prune
Remove all unused volumes
docker network prune
Remove all unused networks
docker stats --no-stream
Snapshot of resource usage
No entry matches “:q”.
Need help?
Found an issue with this tool? Let our team know.