56.6 Complete Docker CLI reference: every top-level command
Story. Suppose we are at Infosys printing one page to pin next to the monitor. Every docker command group in one table.
Steps
- Containers: run, ps, exec, logs, stop, rm …
- Images: build, pull, push, tag, images, rmi …
- Volumes / networks
- System, context, builder, buildx
- Registry: login, logout, search; save/load/export/import
docker run -d --name web -p 8080:80 nginx:1.27
docker ps -a
docker exec -it web sh
docker logs -f --tail 50 web
docker stop -t 20 web
docker rm -f web
docker inspect -f '{{.State.Status}}' web
docker stats --no-stream
docker cp web:/etc/nginx/nginx.conf .
docker build -t api:1 .
docker buildx build --platform linux/amd64,linux/arm64 -t r/api:1 --push .
docker builder prune -f
docker images
docker push r/api:1
docker tag api:1 r/api:1
docker image prune -a -f
docker save -o api.tar api:1
docker export web -o web.tar
docker volume create pgdata
docker network create appnet
docker system df
docker events --filter event=die
docker context use prod
aws ecr get-login-password | docker login -u AWS --password-stdin $REG
docker search --limit 3 redis
docker compose up -d
docker version --format '{{.Server.Version}}'
What each line does
docker run -d --name web -p 8080:80 nginx:1.27— Create and start a container.docker ps -a— List containers.docker exec -it web sh— Run a command in a running container.docker logs -f --tail 50 web— Container output.docker stop -t 20 web— Lifecycle.docker rm -f web— Remove containers.docker inspect -f '{{.State.Status}}' web— Low-level JSON.docker stats --no-stream— Live usage / processes.docker cp web:/etc/nginx/nginx.conf .— Copy files.docker build -t api:1 .— Build an image.docker buildx build --platform linux/amd64,linux/arm64 -t r/api:1 --push .— Advanced/multi-arch builds.docker builder prune -f— Build cache management.docker images— List images.docker push r/api:1— Download / upload images.docker tag api:1 r/api:1— Add a name to an image.docker image prune -a -f— Remove images.docker save -o api.tar api:1— Images to and from tar.docker export web -o web.tar— Container filesystem to tar / tar to image.docker volume create pgdata— Manage volumes.docker network create appnet— Manage networks.docker system df— Disk use and cleanup.docker events --filter event=die— Live daemon events.docker context use prod— Switch target daemon.aws ecr get-login-password | docker login -u AWS --password-stdin $REG— Registry auth.docker search --limit 3 redis— Search Docker Hub.docker compose up -d— Multi-container apps (chapter 53).docker version --format '{{.Server.Version}}'— Client, server and host details.
Command reference table
| Command | Common flags | Example | Expected output | Meaning |
|---|---|---|---|---|
docker run |
-d -it --name -p -v -e --rm --network | docker run -d --name web -p 8080:80 nginx:1.27 |
3f9a1c... | Create and start a container. |
docker ps |
-a -q -s --filter --format | docker ps -a |
CONTAINER ID IMAGE STATUS | List containers. |
docker exec |
-it -u -w -e | docker exec -it web sh |
/ # | Run a command in a running container. |
docker logs |
-f --tail --since -t | docker logs -f --tail 50 web |
GET / 200 | Container output. |
docker start/stop/restart |
-t -a | docker stop -t 20 web |
web | Lifecycle. |
docker rm |
-f -v | docker rm -f web |
web | Remove containers. |
docker inspect |
-f --type | docker inspect -f '{{.State.Status}}' web |
running | Low-level JSON. |
docker stats / top |
--no-stream | docker stats --no-stream |
NAME CPU % MEM | Live usage / processes. |
docker cp |
-a | docker cp web:/etc/nginx/nginx.conf . |
Successfully copied | Copy files. |
docker build |
-t -f --target --build-arg --no-cache --pull --secret | docker build -t api:1 . |
naming to docker.io/library/api:1 | Build an image. |
docker buildx |
build --platform --push, create, ls, imagetools | docker buildx build --platform linux/amd64,linux/arm64 -t r/api:1 --push . |
pushing manifest list | Advanced/multi-arch builds. |
docker builder |
prune -a, ls, du | docker builder prune -f |
Total reclaimed space: 1.2GB | Build cache management. |
docker images / image ls |
-a -q --filter --digests | docker images |
REPOSITORY TAG SIZE | List images. |
docker pull / push |
--platform -a | docker push r/api:1 |
digest: sha256:... | Download / upload images. |
docker tag |
SOURCE TARGET | docker tag api:1 r/api:1 |
(no output) | Add a name to an image. |
docker rmi / image prune |
-f / -a | docker image prune -a -f |
Total reclaimed space | Remove images. |
docker save / load |
-o / -i | docker save -o api.tar api:1 |
(file api.tar) | Images to and from tar. |
docker export / import |
-o | docker export web -o web.tar |
(file web.tar) | Container filesystem to tar / tar to image. |
docker volume |
create ls inspect rm prune | docker volume create pgdata |
pgdata | Manage volumes. |
docker network |
create ls inspect connect disconnect rm prune | docker network create appnet |
9c1e... | Manage networks. |
docker system |
df prune info events | docker system df |
TYPE TOTAL SIZE RECLAIMABLE | Disk use and cleanup. |
docker events |
--since --filter --format | docker events --filter event=die |
container die ... | Live daemon events. |
docker context |
create ls use inspect rm | docker context use prod |
prod | Switch target daemon. |
docker login / logout |
-u --password-stdin | aws ecr get-login-password | docker login -u AWS --password-stdin $REG |
Login Succeeded | Registry auth. |
docker search |
--limit --filter | docker search --limit 3 redis |
NAME STARS OFFICIAL | Search Docker Hub. |
docker compose |
up down ps logs exec … | docker compose up -d |
✔ Started | Multi-container apps (chapter 53). |
docker version / info |
--format | docker version --format '{{.Server.Version}}' |
27.3.1 | Client, server and host details. |
When it is green.
$ docker run -d --name web -p 8080:80 nginx:1.27
3f9a1c...
$ docker ps -a
CONTAINER ID IMAGE STATUS
$ docker exec -it web sh
/ #
$ docker logs -f --tail 50 web
GET / 200
$ docker stop -t 20 web
web
$ docker rm -f web
web
When it is red.
docker: 'imgaes' is not a docker command.
Fix. Typo. Run docker --help or docker COMMAND --help to see exact names and flags.
Quick quiz
Q1. Command to switch between Docker hosts?
docker context use NAME.
Q2. export vs save?
export dumps a container filesystem; save keeps image layers and tags.
Revision card
Interview card