Docker Cheat Sheet

This comprehensive cheat sheet will assist Docker users, experienced and new, in getting containers up-and-running quickly. We list commands that will allow users to install, build, ship and run Docker containers.

Docker is an increasingly popular tool designed to make it easier to create, deploy and run applications within a container. We recently published an article – Data Scientist guide for getting started with Docker – which hopefully laid out some of the basics. As we have done in the past with SQL, Python Regular Expressions and many others, we thought it would be useful to have a centralized cheat sheet for Docker commands, which we’ve based on Docker’s official cheat sheet:

Docker cheat sheet


First off, you’ll need to head over to the Docker site to install a version of the software.

To ensure it’s been installed correctly, open the command line and type docker version. This should display something like the below:

Docker version


docker build [OPTIONS] PATH | URL | -

Common Options Explanation
--add-host Add custom host-to-IP mapping (host:IP)
--cache-from Images to consider as cache sources
--compress Compress the build using gzip
--file, -f Name and route of Docker file
--force-rm Always remove intermediate containers
--label Set the metadata for the image
--memory, -m Set a memory limit
--no-cahe Do not use cache
--rm Remove intermediate containers after a successful build
--tag, -t Name and optionally tag an image in the ‘name:tag’ format
--target Set the target build stage

Builds an image from a Dockerfile


docker images

Lists all of the images that are locally stored in the docker engine


docker rmi IMAGE_NAME

Removes one or more images



docker pull IMAGE_NAME[:TAG]

Pulls an image or a repository from a registry


docker push IMAGE_NAME[:TAG]

Pushes an image or a repository to a registry



Creates a tag TARGET_IMAGE that refers to SOURCE_IMAGE


docker login [OPTIONS] [SERVER]

Common Options Explanation
--password, -p Password
--username, -u Username

Logs into a docker registry


docker logout [SERVER]

Logs out of a docker registry



docker create [OPTIONS] IMAGE_NAME

Creates a new container. This is the same as docker run, but the container is never started. See docker run for options



Common Options Explanation
--add-host Add custom host-to-IP mapping (host:IP)
--attach, -a Attach to STDIN, STDOUT, STDERR
--hostname, -h Container host name
--interactive, -i Keep STDIN open even if not attached
-it Connect the container to the terminal
--label, -l Set metadata on the container
--memory, -m Set a memory limit
--mount Attach a filesystem mount to the container
--name Assign a name to the container
--network Connect a container to a certain network
--publish, -p Expose certain ports to the container
--rm Automatically remove the container when it exits
--volume, -v Bind mount a volume
--workdir, -w Set the working directory inside the container

Run a command in a new container


docker start CONTAINER_NAME

Start one or more containers


docker stop CONTAINER_NAME

Stop one or more running containers


docker kill CONTAINER_NAME

Kill one or more running containers


docker ps

List all containers



Remove one or more containers


Data Science Examples

FROM ubuntu

RUN apt-get install python3

This Dockerfile would install python3 on top of Ubuntu layer. Dockerfiles are text files that define the environment inside the container


FROM ubuntu:latest 
RUN apt-get update && apt-get install -y python3 \ python3-pip 
RUN pip3 install jupyter
WORKDIR /home/jupyter
COPY  /src/jupyter ./
ENTRYPOINT ["jupyter", "notebook", "--ip=*"]

This Dockerfile would:
- install python3 on top of Ubuntu layer
- create a /home/jupyter directory on the container
- copy in contents from the /src/jupyter folder on the user's machine
- Expose port 8000
- Run Jupyter notebook


docker pull tensorflow/tensorflow

Pull a latest TensorFlow image down


docker run -it -p 8000:8000 tensorflow/tensorflow

Run TensorFlow image in a container on port 8000