Docker ecosystem

Aerial view of container Ecosystem

Container Ecosystem :

        The core technology of the container, the container platform technology, technical support vessel

    Container core technology : enables Container (container), those technologies up and running on the host

Comprising :( Vessel Code, Runtime container, container management tool, the tool container definitions, Registries, containers OS)

  • Vessel Code:

runtime spec (specification operation) and image format spec (image format specification)

    This specification allows two different organizations and manufacturers to develop a container that can run on different runtime, to ensure the portability and interoperability of container.

  • Container runtime:

Local container real running, runtime and operating system kernel work closely to provide the operating environment for the container.

LXC (old container runtime on Linux), runc (container runtime docker own development, now weary of runtime), RKT (CoreOS development runtime) is the mainstream of three container runtime.

  • Container management tools:

Internal runtime interaction with the external interface to provide users

LXD : it is lxc corresponding management tools

Engine Docker : runc corresponding management tool, comprising two portions and background deamon cli

cli RKT : RKT management tool

  • Container definition tool:

Allows user-defined attributes and content of the container, the container can be saved, and creating shared

docker image : template docker container, runtime based docker image to create container

dockerfile : contains several commands text file, you can create a docker image by these commands

ACI (APP Container Image): and docker image similar, there are rkt container CoreOS development of image format

  • Registry:

Created by image, image storage warehouse.

Hub Docker (https://hub.docker.com/ ) : Docker Managed Registry is available to the public

  • Containers OS:

Special vessel operating system, compared to the conventional OS, OS containers are usually smaller, faster startup, is designed for container customized OS

 

Container technology platform:

    The core technology of container so that the container can run on a single host, and the container platform technology that allows the container cluster to run in a distributed environment as.

 

  • Container orchestration engine:

Container-based applications typically employ micro-service architecture. In this architecture, the application is divided into different components, and run in the form of services in the respective container through an API to provide services. To ensure high availability applications, each component could run the same multiple containers, these containers will form a cluster, a cluster of container will be created dynamically, migration and destruction according to business needs.

    Layout (orchestration):

Generally comprises a container management, scheduling, cluster definition and service discovery. Orchestration engine through the container, the container is organically combined into a micro-service applications, and business needs.

the Swarm Docker : Docker containers orchestration engine development

Kubernetes : Google led the development of container orchestration engine, while supporting Docker containers and CoreOS

Mesos : providing a container orchestration engine functions with generic cluster resource scheduling platform, mesos and marathon.

 

  • Container management platform:

Container management platform is built on top of the container orchestration engine of a more general platform.

Usually support a variety of orchestration engine

Typical representatives: Rancher and ContainerShip

  • Based Paas container:

It provides a development platform for developers and companies, to deploy and manage applications

Typical representatives: Deis, Flynn and Dokku

 

Technical support vessel:

    It is used to support container-based infrastructure

  • The container network:

The container network topology appears to become more dynamic and complex. Users require specialized solutions to manage communication and isolation between the container and the container, the container with other entities.

Docker network is docker native network solutions, it may also be used in addition to a third party open source solutions: flannel, weave and the calico. Different design and implementation of different programs, each with advantages and features, can be sized according to the time required.

  • Service Discovery:

Dynamic change is a major feature of the micro-service applications.

When the load increases, the cluster will automatically create a new container; load decreases, excess container will be destroyed. Branch will host container resource usage migration in different host, IP and port container will also change.

Service discovery will save the latest information on all micro-cluster container service

  • monitor:

Monitoring is very important for infrastructure, and dynamic characteristics of the vessel monitoring presented more challenges.

docker ps / top / stats are Docker native command-line monitoring tools.

Sysdig, cAdvisor / Heapster Weave Scope and other open source container monitoring program

  • Data Management:

Container often migrate Rex-Ray data management tools across different host can provide guarantees that persistent dynamic data migration

  • Log Management:

Logs for troubleshooting and event management provides an important basis

tool:

docker logs: docker native logging facility

logspout: log provides a routing function, you can collect different container logs and forwards to other tools for processing

  • safety:

OpenSCAP: Mirror able to scan containers, identify potential vulnerabilities

 

 

Guess you like

Origin www.cnblogs.com/xxknight/p/11440791.html
Recommended