# Docker介绍

# Docker简介

Docker 是一个开源的容器引擎,基于Go语言 并遵从 Apache2.0 协议开源。它有助于更快的交付应用。Docker可以将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker,可以更快的打包、测试以及部署应用程序,并可缩短从编写到部署运行代码的周期。

Docker官网:https://www.docker.com/

Docker项目:https://github.com/docker

# Docker版本

目前,Docker的最新版本是17.11,最新的稳定版是17.09。进入Docker17时代后,Docke可分为两种版本:Docker EE(企业版)和Docker CE(社区版)。

# 版本区别

# Docker EE(企业版)

Docker EE由公司提供支持,可在经过认证的操作系统和云提供面中使用,并可运行来自Docker Store的、经过认证的容器和插件

Docker EE 提供三个服务层次,如下表所示。

服务层级 功能
Basic 包含用于认证基础设施的Docker平台
Docker公司的支持
经过认证的、来自Docker Store的容器与插件
Standard 高级镜像与容器管理
LDAP/AD用户集成
基于角色的访问控制(Docker Datacenter)
Advanced Docker安全扫描
连续漏洞监控

# Docker CE(社区版)

Docker CE是免费的Docker产品的名称,Docker CE包含了完整的Docker平台,非常适合开发人员和运维团队构建容器APP。可前往Docker的RELEASE log查看详情(https//github.com/moby/moby/releaes)。

Docker公司认为,Docker CE和EE版本的推出为Docker的生命周期、可维护性以及可升级性带来了巨大的改进。

# Docker 迭代计划

Docker从17.03开始,转向基于时间的YY.4形式的版本控制方案,类似Canonical公司为Ubunta所制定的版本控制方案。Docker CE有两种版本,如下所示:

  • edge:edge版本每月发布一次,主要面向喜欢尝试新功能的用户。
  • stable(稳定版):stable版本每季度发布一次,适用于生产。

edge版本只在发布的当前月获得安全和错误修复。而stable版本可在发布后4个月内接收关键错误修复和安全问题的修补程序。如此,Docker CE用户就有一个月的窗口期来切换到更新的版本。举个例子,Docker CE 17.03会维护到2017年的7月;而Docker CE17.03的下一个稳定版本是CE17.06,这样,在6月到7月这个时间窗口,用户就可以升级。Docker EE和stable版本的版本号保持一致,每个Docker EE版本都享受为期一年的支持与维护期,在此期间接受安全与关键修正。

# Docker架构

Docker架构如官方文档中给出的下图所示,其中:

(opens new window)

  • Docker daemon (Docker守护进程):Docker daemon是一个运行在宿主机(DOCKER HOST)的后台进程。可通过Docker客户端与之通信。
  • Client (Docker客户端):Docker客户端是Docker的用户界面,它可以接受用户命令和配置标识,并与Docker daemon通信。图中,docker buld等都是Docker的相关命令。
  • Images (Docker镜像):Docker镜像是一个只读模板,它包含创建 Docker容器的说明。它和系统安装光盘有点像——使用系统安装光盘可以安装系统,同理,使用Docker镜像可以运行Docker镜像中的程序。
  • Container(容器):容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过Docker API或者CLI命令来启停、移动、删除容器。
  • Registry(注册中心):Docker Registry是一个集中存储与分发镜像的服务。构建完Docker镜像后,就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时可借助Docker Registry来避免镜像的手动复制。最常用的Docker Registry莫过于官方的Docker Hub了,上面有非常多的好的Docker Image。
(adsbygoogle = window.adsbygoogle || []).push({});