2-Docker基本概念简介

2-Docker基本概念简介

容器介绍

容器 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行

容器于虚拟机的区别

容器包含:应用程序本身
依赖:比如应用程序需要的库或其他软件
容器运行在host的用户空间 与操作统是完全隔离的状态
所有的容器共享同一个 Host OS,这使得容器在体积上要比虚拟机小很多

传统的虚拟机 比如 VMWare, KVM, Xen 有完整的应用部署本身 MB 和完整的操作系统系统 几十GB大小

容器的应用场景

容器使软件具备了超强的可移植能力。
如今的操作系统架构十分复杂 host 虚拟机 云架构 私有云 公有云等 每种服务所依赖的环境不同
在迁移的时候无法适应每种服务能够在所有的部署环境中顺利运行 开发需要考虑不同的环境 运维人员也需要根据不同的环境部署
工作量十分巨大
docker借用集装箱的思想 Docker 可以将任何应用及其依赖打包成一个轻量级、可移植、自包含的容器。
容器可以运行在几乎所有的操作系统上。

容器优势

开发人员: Build Once, Run Anywhere
运维人员:Configure Once, Run Anything 只需要配置好标准的 runtime 环境,服务器就可以运行任何容器

容器规范

容器不光是 Docker,还有其它容器,
比如 CoreOS 的 rkt 为保证不同容器之间的兼容 包含 Docker、CoreOS、Google在内的若干公司共同成立了一个叫 Open Container Initiative(OCI) 的组织,其目是制定开放的容器规范。
目前 OCI 发布了两个规范:runtime spec 和 image format spec。

容器runtime

runtime 是容器真正运行的地方。runtime 需要跟操作系统 kernel 紧密协作,为容器提供运行环境。

lxc、runc 和 rkt 是目前主流的三种容器 runtime。

lxc 老牌runtime
runc docker 默认runtime
rkt 是 CoreOS 开发的容器 runtime 可以运行docker容器

容器编排工具

用户通过编排工具来管理容器。容器管理工具对内与 runtime 交互,对外为用户提供 interface,比如 CLI

容器管理平台是架构在容器编排引擎之上的 一个更为通用的平台
通常容器管理平台能够支持多种编排引擎,抽象了编排引擎的底层实现细节,为用户提供更方便的功能,lxd 是 lxc 对应的管理工具。

runc 的管理工具是 docker engine。docker engine 包含后台 deamon 和 cli 两个部分。我们通常提到 Docker,一般就是指的 docker engine。

rkt 的管理工具是 rkt cli。

容器定义工具

容器定义工具 允许用户 定义 容器的 内容和属性,这样容器就能够被保存,共享和重建。

docker image 是 docker 容器的 模板,runtime 依据 docker image 创建容器。

dockerfile 是包含若干命令的文本文件,可以通过这些命令创建出 docker image。 可以创建模板

ACI (App Container Image) CoreOS 开发的 rkt 容器的 image 格式。 类似于 docker image

容器仓库

容器是通过 image 创建的,需要有一个仓库来统一存放 image,这个仓库就叫做 Registry。 存放 image文件的仓库

企业可以用 Docker Registry 构建私有的 Registry。 可以创建私人仓库

Docker Hub 公共托管 Registry 里面有很多image

Quay.io 是另一个公共托管 Registry,提供与 Docker Hub 类似的服务。

名词解释

  1. 镜像(image)
    Docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像 ===> run ===> tomcat01容器, 通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)
  2. 容器(container)
    Docker利用容器技术,独立运行一个或者一组应用, 通过镜像来创建的
    启动,停止,删除,基本命令!
    就目前可以把这个容器理解为一个建议的linux系统
  3. 仓库(repository)
    存放镜像的地方
    Docker Hub(默认是国外的)
    阿里云,,,都有容器服务(配置镜像加速!)
posted @ 2022-07-06 16:45  机猿巧合  阅读(36)  评论(0编辑  收藏  举报