Docker is a containerization technology that allows developers to package apps in images which can then be run as containers.
Read this page: What is a container? A standardized unit of software
A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
In other words, a Docker image is the definition of a container. It is a file that lives in a Docker registry.
You can build a Docker image of your app by running the following command in the app's main directory. You need to have a Dockerfile available in that directory.
docker build -t IMAGE .
An image is defined by a 3-part name:
Some "official" Docker images such as
nginx do not have a
org prefix. Any image we create for ourselves or customers must include either the customer's name or our own as the
org prefix, eg
tag part of the name provides versioning. It usually follows semver conventions (
major.minor.patch). A value of
latest for the tag refers to the latest available version of the image.
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.
In other words, a Docker container is the runtime executable.
A Docker image becomes a container at runtime.
To run a container from an image, use the following command:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
A Docker registry is a repository of Docker images. Dockerhub is a public Docker registry made available by Docker. Private registries are also available and can be self-hosted.
Getting started with Docker
Complete the official 101-tutorial.
Run nginx server on port 80
Run nginx server via a container on default port 80. Use the latest official nginx image.
Run nginx server on port 8080
Run nginx server via a container on port 8080. Use the latest official nginx image.