Docker实战系列一:Doker对象基本概念

原文出处:https://www.cnblogs.com/codelove/p/10030439.html

Docker简介及主要使用场景

Docker 是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在本地编译测试通过的容器可以批量地在生产环境中部署。主要使用场景如下:

  1. 简化配置:运行环境和配置放在代码中集中部署,同一个Docker的配置可以在不同的环境中使用
  2. 代码流水线管理:给应用提供了一个从开发到上线均一致的环境
  3. 提高开发效率:快速搭建贴近生产环境的开发环境
  4. 隔离应用:允许在一台服务器上运行多个不同的应用
  5. 整合服务器:Docker隔离应用的能力使得Docker可以整合多个服务器以降低成本
  6. 多租户环境:为每一个租户的应用层的多个实例创建隔离的环境
  7. 快速部署:为进程仅仅创建一个容器而无需启动一个操作系统,将这个过程缩短到了秒级

基本概念

镜像(Image):一个特殊的文件系统

操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像,就相当于是一个特殊的 root 文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)
镜像不包含任何动态数据,其内容在构建之后也不会被改变。Docker 利用 Union FS 的技术,将其设计为分层存储的架构。 镜像实际是由多层文件系统联合组成。镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。分层存储的特征还使得镜像的复用、定制变的更为容易。甚至可以用之前构建好的镜像作为基础层,然后进一步添加新的层,以定制自己所需的内容,构建新的镜像

容器(Container):镜像运行时的实体

镜像和容器的关系就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。所有的文件写入操作都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。数据卷的生存周期独立于容器

仓库(Repository):集中存放镜像文件的地方

镜像仓库是 Docker 用来集中存放镜像文件的地方,类似于代码仓库。一个 Docker Registry 中可以包含多个仓库,一个仓库又会包含同一个软件不同版本的镜像,可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像(默认标签为latest)

**公开服务与私有服务:
Docker Registry 公开服务是开放给用户使用、允许用户管理镜像的 Registry 服务。最常使用的 Registry 公开服务是官方的 Docker Hub ,这也是默认的 Registry,并拥有大量的高质量的官方镜像。除了使用公开服务外,用户还可以在本地搭建私有 Docker Registry 。Docker 官方提供了 Docker Registry 镜像,可以直接使用做为私有 Registry 服务

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值