eolas/zk/Docker_general_overview.md

64 lines
2.1 KiB
Markdown
Raw Normal View History

2023-04-24 16:51:12 +01:00
---
tags: [docker, containerization]
---
# Docker: general overview
2023-04-25 08:17:48 +01:00
> Docker is an ecosystem of tools for creating, running and transporting
> containers.
2023-04-25 08:17:48 +01:00
The main product of the Docker company is Docker Desktop - a UI for running
containers however the actual `docker` software is free and open source.
2023-04-25 08:17:48 +01:00
Docker standardised the use of containers set up the open-source Open Container
Initiative which is a convention agreed upon by the major tech companies. It
codifies the following:
2023-04-25 08:17:48 +01:00
- Docker runtime specification
- Docker image specification
- Docker registry specification
## Main components
- **Docker Engine**
- The core component
- Exposes the Docker API and manages the entire workflow around creating,
running and deploying containers
2023-04-25 08:17:48 +01:00
- **Docker Client**
- The Docker CLI
- The primary means of interacting with the Docker Engine
- Provides commands for managing images, containers and other Docker objects
- **Docker Compose**
- A tool for defining and running multi-container applications
- Define the configuration for all of the containers that make up the
application in a single YAML file
2023-04-25 08:17:48 +01:00
- **Docker Images**
- See below
- **Docker Containers**
- See below
- **Docker Registry**
- A centralised location where Docker iamges can be stored and shared
- DockerHub is the registry provided by Docker
- Organisations can set up their own private registries
## Docker images
An image is a blueprint that contains the instructions to build a container.
It's an immutable snapshot of the file system and configuration of an
application. Images can be easily shared between developers.
2023-04-25 08:17:48 +01:00
They are runnable packages that contain everything needed to run an application
including the binaries, libraries, resources and other dependencies.
2023-04-25 08:17:48 +01:00
It does not contain an operating sytem but may include a particular Linux
distribution.
2023-04-25 08:17:48 +01:00
## Docker containers
A container is a runnign instance of a Docker image. Multiple, identical
containers can be launched from the same, single image.
2023-04-25 08:17:48 +01:00
## Docker architectural overview
2024-02-17 11:57:44 +00:00
See [Docker architecture](Docker_architecture.md).