加载中...
Docker初始
发表于:2021-12-04 | 分类: Container
字数统计: 4.6k | 阅读时长: 4 mins.分钟 | 阅读量:

Docker简介

docker 对外宣称的作用是”Build,Ship and Run Any App,Anywhere“,即通过对应的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件级别的”一次封装,到处运行“。这里的组件,既可以是一个web应用、一个编译环境,也可以是一台数据库平台服务,甚至是一个操作系统或集群。

基于Linux平台上的多项开源技术,docker提供了高效、敏捷和轻量级的容器方案,并支持部署到本地环境和多种主流云平台。可以说docker首次为应用的开发、运行和部署提供了”一站式“的实用解决方案。

img

Container 发展历史

LXC(Linux Containers)

  • 1979 年,Unix v7 系统支持 chroot,为应用构建一个独立的虚拟文件系统视图。
  • 1999 年,FreeBSD 4.0 支持 jail,第一个商用化的 OS 虚拟化技术。
  • 2004 年,Solaris 10 支持 Solaris Zone,第二个商用化的 OS 虚拟化技术。
  • 2005 年,OpenVZ 发布,非常重要的 Linux OS 虚拟化技术先行者。
  • 2004 年 ~ 2007 年,Google 内部大规模使用 Cgroups 等的 OS 虚拟化技术。
  • 2006 年,Google 开源内部使用的 process container 技术,后续更名为 cgroup。
  • 2008 年,Cgroups 进入了 Linux 内核主线。
  • 2008 年,LXC(Linux Container)项目具备了 Linux 容器的雏型。
  • 2011 年,CloudFoundry 开发 Warden 系统,一个完整的容器管理系统雏型。
  • 2013 年,Google 通过 Let Me Contain That For You (LMCTFY) 开源内部容器系统。
  • 2013 年,Docker 项目正式发布,让 Linux 容器技术逐步席卷天下。
  • 2014 年,Kubernetes 项目正式发布,容器技术开始和编排系统起头并进。
  • 2015 年,由 Google,Redhat、Microsoft 及一些大型云厂商共同创立了 CNCF,云原生浪潮启动。
  • 2016 年 - 2017 年,容器生态开始模块化、规范化。CNCF 接受 Containerd、rkt项目,OCI 发布 1.0,CRI/CNI 得到广泛支持。
  • 2017 年 - 2018 年,容器服务商业化。AWS ECS,Google EKS,Alibaba ACK/ASK/ECI,华为 CCI,Oracle Container Engine for Kubernetes;VMware,Redhat 和 Rancher 开始提供基于 Kubernetes 的商业服务产品。
  • 2017 年 - 2019 年,容器引擎技术飞速发展,新技术不断涌现。2017 年底 Kata Containers 社区成立,2018 年 5 月 Google 开源 gVisor 代码,2018 年 11 月 AWS 开源 firecracker,阿里云发布安全沙箱 1.0。
  • 2020 年 - 202x 年,容器引擎技术升级,Kata Containers 开始 2.0 架构,阿里云发布沙箱容器 2.0….

docker优点

Docker 是开发人员和系统管理员使用容器开发,部署和运行应用程序的平台。使用Linux容器部署应用程序称为容器化。
容器化越来越受欢迎,因为容器是:
1、灵活:即使是最复杂的应用也可以集装箱化
2、轻量级:容器利用并共享主机内核
3、可互换:您可以即时部署更新和升级
4、便携带:您可以在本地构建,部署到云,并在任何地方运行。
5、可扩展:您可以增加并自动分发容器副本
6、可堆叠:您可以垂直和即时堆叠服务

docker架构

架构)

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。

docker 核心概念

核心概念

docker大部分的操作围绕着三个概念:镜像、容器和仓库。

  • 镜像

    docker 镜像类似于虚拟机镜像,可以将他理解为一个制度模板。

  • 容器

    docker 容器类似于一个轻量级的沙箱,docker利用容器来运行和隔离应用。

  • 仓库

    docker 仓库类似于代码仓库,是docker集中存放镜像文件的场所。

    • 公开仓库(public)

    • 私有仓库(Private)

上一篇:
安装Docker
下一篇:
MacbookPor-m1
本文目录
本文目录