للاستفسار :
فيس بوك :
لينكد ان :
------------------------------------------------------------------------------------------------------------
Docker software
From Wikipedia the free encyclopedia
Jump to navigationJump to search
This article is about the OS-level virtualization software.
For the company see Docker Inc.
Docker
Docker container engine logo.svg
Original authors Solomon Hykes
Developers Docker Inc.
Initial release March 20 2013 8 years ago1
Stable release
20.10.723 Edit this on Wikidata 2 June 2021 20 days ago
Repository
github.commobymoby
Edit this at Wikidata
Written in Go4
Operating system Linux Windows macOS
Platform x86-64 ARM s390x ppc64le
Type OS-level virtualization
License Proprietary Enterprise Edition5 Apache License 2.0 Community Edition
Website docker.com
Docker is a set of platform as a service PaaS products that use OS-level virtualization to deliver software in packages called containers.6 Containers are isolated from one another and bundle their own software libraries and configuration files they can communicate with each other through well-defined channels.7 Because all of the containers share the services of a single operating system kernel they use fewer resources than virtual machines.8
The service has both free and premium tiers.
The software that hosts the containers is called Docker Engine.8 It was first started in 2013 and is developed by Docker Inc.9
Contents
1 Operation
1.1 Components
1.2 Tools
2 History
2.1 Adoption
3 See also
4 References
5 External links
Operation
Docker can use different interfaces to access virtualization features of the Linux kernel.10
Docker can package an application and its dependencies in a virtual container that can run on any Linux Windows or macOS computer.
This enables the application to run in a variety of locations such as on-premises in a public cloud andor in a private cloud.11 When running on Linux Docker uses the resource isolation features of the Linux kernel such as cgroups and kernel namespaces and a union-capable file system such as OverlayFS12 to allow containers to run within a single Linux instance avoiding the overhead of starting and maintaining virtual machines.13 Docker on macOS uses a Linux virtual machine to run the containers.14
Because Docker containers are lightweight a single server or virtual machine can run several containers simultaneously.15 A 2018 analysis found that a typical Docker use case involves running eight containers per host and that a quarter of analyzed organizations run 18 or more per host.16
The Linux kernels support for namespaces mostly17 isolates an applications view of the operating environment including process trees network user IDs and mounted file systems while the kernels cgroups provide resource limiting for memory and CPU.18 Since version 0.9 Docker includes its own component called libcontainer to directly use virtualization facilities provided by the Linux kernel in addition to using abstracted virtualization interfaces via libvirt LXC and systemd-nspawn.19101120
Docker implements a high-level API to provide lightweight containers that run processes in isolation.21
Components
The Docker software as a service offering consists of three components:
Software: The Docker daemon called dockerd is a persistent process that manages Docker containers and handles container objects.
The daemon listens for requests sent via the Docker Engine API.2223 The Docker client program called docker provides a command-line interface CLI that allows users to interact with Docker daemons.2224
Objects: Docker objects are various entities used to assemble an application in Docker.
The main classes of Docker objects are images containers and services.22
A Docker container is a standardized encapsulated environment that runs applications.25 A container is managed using the Docker API or CLI.22
A Docker image is a read-only template used to build containers.
Images are used to store and ship applications.22
A Docker service allows containers to be scaled across multiple Docker daemons.
The result is known as a swarm a set of cooperating daemons that communicate through the Docker API.22
Registries: A Docker registry is a repository for Docker images.
Docker clients connect to registries to download pull images for use or upload push images that they have built.
Registries can be public or private.
Two main public registries are Docker Hub and Docker Cloud.
Docker Hub is the default registry where Docker looks for images.2226 Docker registries also allow the creation of notifications based on events.27
Tools
Docker Compose is a tool for defining and running multi-container Docker applications.28 It uses YAML files to configure the applications services
Источник: rutube.ru