Here follows a list of useful Docker commands with useful flags for each command.

Table of Contents

  1. docker build
  2. docker exec
  3. docker images
  4. docker inspect
  5. docker logs
  6. docker ps
  7. docker rmi
  8. docker run
  9. docker tips and tricks
  10. Learn More

docker build

Build an image from a Dockerfile.

docker build [DOCKERFILE PATH]

Example

Build an image tagged my-org/my-image where the Dockerfile can be found at /tmp/Dockerfile.

docker build -t my-org:my-image -f /tmp/Dockerfile

Useful flags

  • --file -f Path where to find the Dockerfile
  • --force-rm Always remove intermediate containers
  • --no-cache Do not use cache when building the image
  • --rm Remove intermediate containers after a successful build (this is true) by default
  • --tag -t Name and optionally a tag in the ‘name:tag’ format

docker exec

Execute a command inside a running container.

docker exec [CONTAINER ID]

Example

docker exec [CONTAINER ID] touch /tmp/exec_works

Useful flags

  • --detach -d Detached mode: run command in the background
  • -it This will not make the container you started shut down immediately, as it will create a pseudo-TTY session (-t) and keep STDIN open (-i)

docker images

List all downloaded/created images.

docker images

Useful flags

  • -q Only show numeric IDs

docker inspect

Shows all the info of a container.

docker inspect [CONTAINER ID]

docker logs

Gets logs from container.

docker logs [CONTAINER ID]

Useful flags

  • --details Log extra details
  • --follow -f Follow log output. Do not stop when end of file is reached, but rather wait for additional data to be appended to the input.
  • --timestamps -t Show timestamps

docker ps

Shows information about all running containers.

docker ps

Useful flags

  • --all -a Show all containers (default shows just running)
  • --filter -f Filter output based on conditions provided, docker ps -f="name="example"
  • --quiet -q Only display numeric IDs

docker rmi

Remove one or more images.

docker rmi [IMAGE ID]

Useful flags

  • --force -f Force removal of the image

docker run

Creates and starts a container in one operation. Could be used to execute a single command as well as start a long-running container.

Example:

docker run -it ubuntu:latest /bin/bash

This will start a ubuntu container with the entrypoint /bin/bash. Note that if you do not have the ubuntu image downloaded it will download it before running it.

Useful flags

  • -it This will not make the container you started to shut down immediately, as it will create a pseudo-TTY session (-t) and keep STDIN open (-i)
  • --rm Automatically remove the container when it exit. Otherwise, it will be stored and visible running docker ps -a.
  • --detach -d Run container in background and print container ID
  • --volume -v Bind mount a volume. Useful for accessing folders on your local disk inside your docker container, like configuration files or storage that should be persisted (database, logs etc.).

Docker Tips and Tricks

A collection of useful tips and tricks for Docker.

Delete all containers

NOTE: This will remove ALL your containers.

docker container prune

OR, if you’re using an older docker client:

docker rm $(docker ps -a -q)

Delete all untagged containers

docker image prune

OR, if you’re using an older docker client:

docker rmi $(docker images | grep '^<none>' | awk '{print $3}')

See all space Docker take up

docker system df

Get IP address of running container

docker inspect [CONTAINER ID] | grep -wm1 IPAddress | cut -d '"' -f 4

Kill all running containers

docker kill $(docker ps -q)

Learn More

A list of more useful Docker commands can be found in the docker-cheat-sheet