Docker之一简介

news/2025/3/18 17:50:29/文章来源:https://www.cnblogs.com/maoning/p/18779439

什么是Docker

Docker是Google使用go语言进行开发的,对进程进行封装隔离,始于操作系统层面的虚拟化技术。

因为隔离的进程独立于宿主机和其它的隔离进程,因此成为容器

Docker在容器的基础上进行了进一步的封装,从文件系统、网络互联到进程隔离等等,简化了容器的维护和床架你,比虚拟机技术更为轻便、快捷

为什么要用

作为一种新兴虚拟化方式,和传统比有众多优势

  • 更高效的利用系统资源

​ 容器不需要虚拟硬件以及完整的操作系统等额外开销,因此对系统的资源利用率更高。从以下几个方面来看,应用执行速度、内存损耗、文件存储速度等都比传统的虚拟机搞笑,因此一个相同配置的主机,docker可以运行更多数量的应用

  • 更快速的启动时间

​ 由于直接运行宿主内核,可以做到秒级、毫秒级的启动时间;节省了时间

  • 一致的运行环境

​ Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境的一致性;【开发、测试、生产环境】

  • 持续交付和部署

​ 通过定制应用镜像实现持续集成、交付、部署;通过Dockerfile进行镜像构建;Dockerfile使得镜像构建透明化,方便理解

  • 轻松迁移

​ 由于确保了环境的一致性,所以容易迁移;

  • 轻松维护和扩展

​ 使用分层存储和镜像的技术,使得应用复用更加容易,维护更新简单。

基本概念

理解以下三个概念,就理解了Docker的整个生命周期

镜像

  • 操作系统分为内核、用户空间;Docker镜像相当于是一个root文件系统

  • Docker镜像是特殊的文件系统,除了提供运行时所需要的程序、库、资源、配置等文件外,还包含了一些配置参数。但是不包含任何动态数据

  • 分层存储,使得镜像的复用、定制更为容易

容器

  • 容器和镜像的关系,就像类、实例一样;镜像是静态的,容器是运行镜像的实体;容器可以被创建、启动、停止、删除、暂停等操作
  • 容器实质就是进程,但是它运行在属于自己的独立的空间里;所以每一个容器拥有自己的root系统、网络配置、进程空间,甚至自己的用户ID空间。
  • 容器也是分层存储,每一个容器运行时候,以镜像为基础层,为当前存储层;这个为容器运行读写准备的容容器存储层
  • 容器消亡时候,存储层也会跟着消失;所以保存在容器存储层的信息都会没有
  • 容器不应该给存储层写数据,所有的文件写入操作,都需要使用数据卷、或者绑定宿主目录;直接对宿主、网络存储进行读写,性能和稳定性高
  • 数据卷的生命周期独立容器,容器消失,数据卷还在

仓库

  • 分为公有和私有仓库
  • 镜像构建完成后,需要发布到集中存储、分发的镜像服务Docker Registry
  • 一个Docker Registry 可以包含多个Repository,每个仓库都有多个标签,每一个标签对应一个镜像
  • 一般来说,一个仓库会包含同一个软件的不同版本,而标签就是用来给不同版本进行标注;
  • 可以通过<仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/901032.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巧用输出变量,提升Dolphinscheduler工作流灵活性和可维护性

输出变量是 DolphinScheduler 任务调度中实现数据流动与任务协作的核心机制,通过显式定义和传递参数,解决了跨节点数据共享、优先级冲突等问题,同时支持复杂流程编排(如子流程、条件分支)。合理使用输出变量能显著提升工作流的灵活性和可维护性。本文将介绍 DolphinSchedu…

3.18 关系

1.1 笛卡尔积 序偶/元组 是有顺序的1.2 笛卡尔积与关系关系就两种:集合A上的二元关系/集合A到集合B的二元关系关系是笛卡尔积的子集 1.3 特殊关系

Spring AI Alibaba 应用框架挑战赛圆满落幕,恭喜获奖选手

Spring AI Alibaba 是一款 Java 语言实现的 AI 应用开发框架,用于加速和简化 Java 开发者的 AI 应用开发,定义 Spring 框架下的 AI 应用开发模式。本项目基于 Pivotal 公司开源的 Spring AI 开源项目构建,突出 Spring AI 与阿里云开源/商业生态的集成与最佳实践,集成范围涉…

干锅菜单

100001、 100002、 100003、 100004、 100005、 100006、 100007、 100008、本人前端水平有限,写的知识点可能有谬误,欢迎留言指正,如果看到,我将第一时间回复。感谢支持!

汤锅菜单

110001、 110002、 110003、 110004、本人前端水平有限,写的知识点可能有谬误,欢迎留言指正,如果看到,我将第一时间回复。感谢支持!

web153笔记(后端不能单⼀校验,后端校验要严密+过滤php+.user.ini文件包含)

这⼀次再传php就拦截下来了,这⾥开始可以⽤ .user.ini 来构造后⻔php.ini是php的⼀个全局配置⽂件,对整个web服务起作⽤;⽽.user.ini和.htaccess⼀样是⽬录的配置⽂件,.user.ini就是⽤户⾃定义的⼀个php.ini,我们可以利⽤这个⽂件来构造后⻔和隐藏后⻔。.htaccess是Apache…

VISIO-visio2013激活工具亲测有效

如果觉得对您有帮助 还请点赞收藏,谢谢~ 通过网盘分享的文件:激活工具 链接: https://pan.baidu.com/s/1y4FDjp59CoXtcB70_q1slA?pwd=sky1 提取码: sky1

安装ubantu报错VMware Workstation 与 Device/Credential Guard 不兼容

报错问题解决 1、按下WIN+R打开运行,然后输入services.msc回车; 2、在服务中找到 HV主机服务,双击打开设置为禁用3、win+x,然后打开powershell(管理员)运行命令:bcdedit /set hypervisorlaunchtype off 4、重启电脑

如何在 Github 上获得 1000 star?

作为程序员,Github 是第一个绕不开的网站。我们每天都在上面享受着开源带来的便利,我相信很多同学也想自己做一个开源项目,从而获得大家的关注。然而,理想很丰满,现实却是开发了很久的项目仍然无人问津。 最近,我的一个项目获得了超过 1000 star 的成绩,我认为这是一个重…

生活-家电: 论“内卷文化” + 品牌 VS 品质:记一起“知名品牌” 因 “商品设计缺陷”的退货经历

论“内卷文化” 如有不对欢迎指正。 起初,我也不知道"什么是内卷",面对现象级的"内卷文化"兴起, 各地"卷王不断", 实则是"阶层固化", "富贵阶级 压榨 普通民众的"另一"代称"? "富商贵族"多了第一批…