Docker Terms Review

Table of Contents

You’ve seen how to use a docker image directly using docker run and using a docker-compose.yml file. Both method do the same thing, which is to create a container from a Docker image. Now, let’s take a look at how to build a Docker image.

Let’s review some Docker terms before we continue. These terms are from dotnet doc's terminology page. See additional terms and examples on page A Practical Introduction to Docker Container Terminology provided by Redhat.

Image

A package with all the dependencies and information needed to create a container.

A container represents a runtime for a single application, process, or service. It consists of the contents of a Docker image, a runtime environment, and a standard set of instructions. When scaling a service, you create multiple instances of a container from the same image. Or, a batch job can create multiple containers from the same image, passing different parameters to each instance.

Container

A read-only instance of a Docker image.

A container represents the execution of a single application, process, or service. It consists of the contents of a Docker image, an execution environment, and a standard set of instructions. When scaling a service, you create multiple instances of a container from the same image.

Volumes

A writable filesystem that the container can use.

Images are read-only but most programs need to write to the filesystem. Volumes add a writable layer on top of the container image so that programs can access a writable filesystem.

Dockerfile

A text file that contains instructions for how to build a Docker image.

Build

The action of building a container image using the information in a Dockerfile.

Tag

A mark or label that you can apply to images for identification.

Repository (repo)

A catalogued or indexed collection of Docker images.

Registry

A service that provides access to repositories.

The default registry for most public images is Docker Hub (owned by Docker as an organization).

Docker Hub

A public registry of images.

docker run, docker-composer, and Dockerfile use images from Docker Hub. For example, docker run downloads nextcloud from Docker Hub before it creates the container using this command: docker run -d -p 80:80 nextcloud.

Multi-arch image

An image designed for multi-architecture systems.

Compose

A command-line tool and YAML file format with metadata for defining and running multi-container applications.