Docker cheat sheet

2 min read

docker_logo

What is Docker?

Docker is a tool used to deploy software across different platform without running into compatibility issues.

A Docker image is a lightweight, standalone, executable package of software that includes everything needed to run an application (code, libraries, settings, etc…). On a Linux system, Docker images are stored in /var/lib/docker.

A running instance of an image is called a container. A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.

Cheat sheet

You can download a printable Linux command line cheat sheet here from Cheatography.

Another handy cheat sheet can be found here.

  • Check Docker installation
docker version
docker run hello-world
  • List docker images
docker images
  • List dangling Docker images
docker images -f dangling=true
  • Remove dangling images and build caches, all stopped containers and all networks not used by at least 1 container (useful to free some space).
docker system prune
  • Remove docker image by ID
docker rmi -f IMAGE_ID
  • Download a Docker image
docker pull IMAGE_NAME
  • List running containers
docker ps
docker container ls
  • List all containers
docker ps -a
  • Stop a container
docker stop CONTAINER_ID
  • Remove a container
docker rm CONTAINER_ID
  • Stop all the containers
docker stop $(docker ps -a -q)
  • Remove all the containers
docker rm $(docker ps -a -q)
  • Run a docker image
docker run -it --rm IMAGE_ID
  • Options of the run command:
-u $(id -u):$(id -g)       # assign a user and a group ID
--gpus all                 # allow GPU support
-it                        # run an interactive container inside a terminal
--rm                        # automatically remove the container after exiting
--name my_container        # give it a friendly name
-v ~/docker_ws:/notebooks  # share a directory between the host and the container
-p 8888:8888               # define port 8888 to connect to the container (for Jupyter notebooks)
  • Open a new terminal in a running container
docker exec -it CONTAINER_ID bash

Create a new Docker image

There are 2 main methods.

Method 1 : Using a Dockerfile

  1. Create a file called Dockerfile on your host machine.

     # getting base Ubuntu image
     FROM ubuntu
    
     # file author / maintainer
     LABEL maintainer="your_email_address"
    
     # update the repository sources list
     RUN apt-get update
    
     # print Hello World
     CMD ["echo", "Hello World"]
    
  2. Build the image.

     docker build -t myimage:0.1 .
    
  3. Run the image.

     docker run myimage:0.1
    

Method 2 : Commit a Docker image from a running container

Modify a running container and run this in another terminal.

docker commit CONTAINER_ID my_new_image

Leave a comment