Background

Why is it important to understand the terminology for container technology?
It is important to understand the terminology for container technology because it can be difficult to understand the key differences between Docker and other container engines or understand what the Open Container Initiative is doing to standardize container technology.

What are some common terms that can cause confusion for newcomers to containers?
Some common terms that can cause confusion for newcomers to containers include:

  • Container.
  • Image.
  • Container Image.
  • Image Layer.
  • Registry.
  • Repository.
  • Tag.
  • Base Image.
  • Platform Image.
  • Layer.

...

Containers 101

What are the two states a container can be in?
The two states a container can be in are:

  1. Resting.
  2. Running.

What is a container when it is resting?
When a container is resting, it is a file, or set of files, which are saved on the disk.

What are the two terms that refer to a container when it is resting?
The two terms that refer to a container when it is resting are:

  1. Container Image.
  2. Container Repository.

What happens when you run the command to start a container?
When you run the command to start a container, the Container Engine unpacks the required files and meta-data, then hands them off to the Linux kernel.

What is a similarity between starting a normal Linux process and starting a container?
A similarity between starting a normal Linux process and starting a container are that both require making an API call to the Linux kernel.

What is the difference between starting a normal Linux process and starting a container?
The difference between starting a normal Linux process and starting a container is that the API call to the Linux kernel when starting the container initiates extra isolation and mounts a copy of the files that were in the container image.

What is a container when it is running?
When a container is running, it is a normal Linux process.

What defines and governs the process for starting containers and the image format on the disk?
The process for starting containers and the image format on the disk is defined and governed by standards.

What are three examples of competing Container Image formats?
Three examples of competing Container Image formats are:

  1. Docker.
  2. Appc.
  3. LXD.

Which initiative for Container Image format standards is the industry moving towards? (1)
The initiative for Container Image format standards that the industry is moving towards is the Open Container Initiative (OCI).

What is another term for the Open Container Initiative?
Another term for the OCI is Open Containers.

What is included in the scope of the Open Container Initiative? (1)
Included in the scope of the Open Container Initiative is a Container Image Format Specification.

What two things does the Container Image Format Specification from the Open Container Initiative define?
The two things that the Container Image Format Specification from the Open Container Initiative defines are:

  1. The on-disk format for container images.
  2. The meta-data which defines things like hardware architecture and the operating system.

What is the benefit of having an industry wide container image format?
The benefit of having an industry wide container image format is that it enables interoperability between tools for signing, scanning, building, running, moving, and managing container images.

What are five examples of competing Container Engines? (1) (2) (3)
Five examples of competing Container Engines include:

  1. Docker.
  2. CRI-O.
  3. Railcar.
  4. RKT.
  5. LXC.

What does a Container Engine do with a Container Image?
With a Container Image, a Container Engine turns it into a Container.

What is the process of turning Container Images into Containers governed by? (1)
The process of turning Container Images into Containers is governed by the Container Runtime Specification from the OCI.

What does the Open Containers Initiative (OCI) also include alongside the Container Runtime Specification? (1)
Alongside the Container Runtime Specification, the OCI also includes a Reference Runtime Implementation called RunC.

...