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 @   机猿巧合  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示
CONTENTS