Docker
  • Dockers
  • Glossary
  • Introduction
  • Architecture
  • How to Install?
  • Commands
  • Push image to Docker Cloud
  • Applications
    • OpenVino SmartCity
      • Operating System
      • Docker
      • Gitlab Repository
      • Services
      • Intel OpenVino Toolkit
    • Hello World
      • DockerFile
      • FilesDependencies
      • Build & Run
    • ImageRecognition
      • Prerequisites
      • DockerFile
      • Build & Run
    • Clean Dockers
  • Orquestation
    • Dockers Swarm
    • Kubernetes
  • Integration
    • AMQP
    • AWS
Powered by GitBook
On this page
  • Docker Platform
  • Docker Engine
  • Docker architecture
  • Docker daemon
  • Services

Was this helpful?

Architecture

PreviousIntroductionNextHow to Install?

Last updated 5 years ago

Was this helpful?

Docker Platform

Docker provides the ability to package and run an application in a loosely isolated environment called a container. The isolation and security allow you to run many containers simultaneously on a given host. Containers are lightweight because they don’t need the extra load of a hypervisor, but run directly within the host machine’s kernel.

Docker Engine

Docker Engine is a client-server application with these major components:

  • A server which is a type of long-running program called a daemon process (the dockerd command).

  • A REST API which specifies interfaces that programs can use to talk to the daemon and instruct it what to do.

  • A command line interface (CLI) client (the docker command).

Docker architecture

Docker uses a client-server architecture. The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers. The Docker client and daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface.

Docker daemon

The Docker daemon (dockerd) listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes. A daemon can also communicate with other daemons to manage Docker services.

Services

Services allow you to scale containers across multiple Docker daemons, which all work together as a swarm with multiple managers and workers. Each member of a swarm is a Docker daemon, and the daemons all communicate using the Docker API. A service allows you to define the desired state, such as the number of replicas of the service that must be available at any given time.