开发者,Docker镜像,容器和仓库到底是什么?

关键词:docker | 镜像 | 容器 | 仓库

在这里插入图片描述

一、前言

开发者,本文学习Docker镜像,容器,仓库这三个概念,理解了这三个概念, 就理解了Docker的整个生命周期,为后续学习打下坚实基础。

二、镜像(Image)

和大多数虚拟化技术一样,Docker也有镜像的概念,镜像是运行虚拟环境的基础,也是迁移虚拟环境的强大工具。

在这里插入图片描述

举个例子,假如小周想要安装正版系统,可以使用正版 iso 镜像文件,但是小周也不知道哪个才是纯净的镜像文件,小周倒霉,第一次安装是盗版的,所谓盗版就是指在纯净系统上进行了个人diy后,再次制作发布的镜像。

吃一堑长一智,小周这次来到官网下载并安装了纯净的系统镜像,三年过去了。。。小周的电脑性能有点力不从心了,决定换一台电脑,小周这三年努力学习,在电脑上下载和存放了很多重要学习资料,能不能有种办法可以无痛的迁移到新电脑上呢?聪明的小周想到了盗版系统,于是跑去电脑店让技术人员给他的电脑定制了一个属于自己的系统镜像,小周拿着镜像文件,咔哧咔哧的来到新电脑前,三下五除二就安装成功了,就这样连着系统和自己的数据完整的迁移了,小周非常开心,大喊 “奥里给”

回到正题,在Docker中,镜像是一个包含应用程序以及相关依赖库的文件,在Docker容器启动的时候,它以只读的方式被用于创建容器运行的基础环境。

如果把容器理解为应用运行的虚拟环境,那么镜像就可以看作这个环境的持久化副本,通过镜像我们很容易保存虚拟环境的运行状态,从而很方便的完成镜像的迁移以及复制等等操作。

三、容器(Container)

镜像和容器的关系,就像面向对象中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体,容器可以被创建、启动、停止、删除等。

在这里插入图片描述

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间,因此容器可以拥有自己的 root文件系统,自己的网络配置,自己的进程空间,甚至自己的用户空间,容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样,这种特性使得容器封装的应用比直接在宿主运行更加安全。

每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,通常称这个为容器运行时读写而准备的存储层为 容器存储层,容器存储层的生命周期和容器一样,容器消亡时,容器存储层也随之消亡。

四、仓库(Repository)

仓库(Repository)是集中存放镜像的地方。

在这里插入图片描述

镜像构建完成后,可以很容易的在当前宿主机上运行,但是如果需要在其它服务器上使用这个镜像,此时我们就需要一个集中存储和分发镜像的服务,Docker Registry 就是这样的服务。

4.1、Docker Hub

Docker官方维护了一个公共仓库Docker Hub,大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。

4.2、私有仓库

除了使用公开服务外,用户还可以在本地搭建私有仓库,官方提供了Docker Registry镜像,可以直接使用做为私有 Registry 服务,后续会详细✍

五、写在最后

开发者,本文学习了Docker镜像,容器,仓库这三个概念,理解了这三个概念, 就理解了Docker的整个生命周期,我是小周,期待你的关注!👋

在这里插入图片描述

  • 56
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 104
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 104
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王子周棋洛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值