zoukankan      html  css  js  c++  java
  • docker-基本概念、架构和使用

    Docker是一个开源的容器项目,基于go语言开发。之所以被称为容器技术,是因为docker对进程进行封装,隔离于宿主系统和其它的进程,类似于一个装东西的容器,而且在容器里面装有一系列文件系统、网络、依赖包等应用程序运行需要的环境,开发人员可以快速将他们的应用程序部署到容器内运行。容器技术属于操作系统层面的虚拟化技术,它和虚拟机技术主要的区别如下:
     

    Docker核心概念
     
    容器技术的核心概念有容器(container)、镜像(image)、仓库(registry)三个。
     
    容器:具体的运行应用程序的一个进程,它里面包含应用程序的各种依赖。
     
    镜像:创建容器的模板,根据不同配置的镜像来创建不同的容器使用。镜像和容器的关系可以理解为面向对象中类和实例对象的关系。
     
    仓库:一个镜像只可以创建一种类型的容器,镜像多了就需要放到镜像仓库中存起来,仓库有本地镜像仓库和公共镜像仓库,平时使用本地仓库的镜像,没有的话去Registry hub公共镜像仓库下载。
     
    Docker架构
    Docker框架主要由Docker Client、Docker Daemon、Docker Registry、Driver、Docker Container五个模块组成,另外还有Graph和Libcontainer两个辅助模块,如下图所示:
     

    Docker Client: 用户通过Docker Client与Docker Daemon进行通信,利用命令行发送创建镜像、运行容器之类的请求。
     
    Docker Daemon:Docker Daemon是Docker架构中一个常驻在后台的系统进程,接受并处理Docker Client发送的请求。该守护进程在后台启动了一个Server,Server负责接受Docker Client发送的请求;然后通过路由与分发调度,找到相应的Handler来执行请求。
     
    Docker Registry:存储容器镜像的仓库。
     
    Driver: Driver是Docker架构中的驱动模块。通过Driver驱动,Docker可以实现对Docker容器执行环境的定制。包含管理容器镜像的graphdriver驱动,配置容器内网络环境的networkdriver驱动,execdriver用来创建和维护容器。
     
    Docker Container:运行应用程序的特定容器,是容器服务的交付实体。
  • 相关阅读:
    POJ 2007 Scrambled Polygon (极角排序)
    POJ 1113 Wall (凸包 + 思维)
    POJ 2074 Line of Sight(求直线交点 + 思维)
    POJ 1584 A Round Peg in a Ground Hole(凸多边形判断 + 点是否在多边形内 + 点到线段的最短距离)
    HDU 4623 Crime (状压DP + 数学优化)
    P4755 Beautiful Pair
    CF235C Cyclical Quest
    luoguP4449 于神之怒加强版
    扩展KMP
    P4397 [JLOI2014]聪明的燕姿
  • 原文地址:https://www.cnblogs.com/patrick0715/p/12836607.html
Copyright © 2011-2022 走看看