Redian新闻
>
Docker中容器和镜像的关系,真正的通俗易懂!

Docker中容器和镜像的关系,真正的通俗易懂!

公众号新闻

docker中容器和镜像的关系是什么?

最近学习了docker,感觉容器和镜像学的有点模糊。

特别是镜像和容器,感觉完全分不开,所以在此学习,然后总结了一下,便于后面的学习。

  • 镜像你可以把它看成Java中的类,而容器可以看做是类的实例化对象。

  • 一个类可以有多个对象,同理,一个镜像可以有多个容器。

docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。

docker 容器=镜像+可读层

容器是由镜像实例化而来。

简单来说,镜像是文件,容器是进程。

容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。

docker 的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

docker利用容器来运行应用:docker容器是由docker镜像创建的运行实例。

docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。

在Docker的生命周期中,最核心的两个部分,一个是镜像 Images,一个是容器 Containers。

镜像运行起来就是容器。

容器服务运行的过程中,基于原始镜像做了改变,比如安装了程序,添加了文件,也可以提交回去 (commit)成为镜像。

例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了mysql或用户需要的其他应用程序。

docker镜像实际上是由一层一层的系统文件组成,这种层级的文件系统被称为UnionFS( Union file system  统一文件系统),镜像可以基于dockerfile构建,dockerfile是一个描述文件,里面包含了若干条密令,每条命令都会对基础文件系统创建新的层次结构。

docker提供了一个很简单的机制来创建镜像或更新现有的镜像。用户甚至可以从其他人那里下载一个已经做好的镜像直接使用。(镜像是只读的,可以理解为静态文件)

相对于镜像来说容器是动态的,容器在启动的时候创建了一层可写层次作为最上层。

docker create <image -id > :为指定的镜像添加一个可读写层,构成一个新的容器;

docker仓库:如果使用了git和github就很容易理解docker的仓库概念。docker仓库概念和git类似。

docker仓库是用来包含镜像的位置,docker提供了一个注册服务器(register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像,

docker运作中使用的默认仓库是docker hub公共仓库。

仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用push命令将它上传到共有或者私有的仓库。这样下次再另外一台机器上使用这个镜像的时候只需要从仓库里面pull下来就可以了。

来源:carroll.blog.csdn.net/article/details/102827125
后端专属技术群

构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

文明发言,以交流技术职位内推行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗

加我好友,拉你进群

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
人世间最纯洁的关系,是金钱关系游记:莫斯科的大街小巷(文字+视频)Jenkins+Docker 实现一键自动化部署项目!步骤齐全,少走坑路!在临海小镇做全麻手术Docker的使用案例以及未来发展、Docker Hub 服务、环境安全、容器部署安全为什么不建议在 Docker 中跑 MySQL ?198 道 K8s / Docker / DevOps 面试真题大汇总,2023 最新整理!| 极客时间通俗易懂k8s——服务的注册与发现从原理到代码理解语言模型训练和推理,通俗易懂,快速修炼LLMSpringBoot + Docker 实现一次构建到处运行~莫言:你与母亲的关系,就是你与世界的关系39 份云原生核心技术文档免费公开,吃透 K8s/Docker!| 极客时间Redis流量镜像的实现【Locker Room】Locker Room运动上新!女篮、飞盘&腰旗橄榄球,你准备好了吗?容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档中转构建大模型生态基础设施,你选 Python + Docker 还是 Rust + WebAssembly?| QCon面试官:如何使用Dockerfile去构建自定义的Docker镜像?问倒一堆汇总了近 50 场面试, 总结出了这份 70 多页的 K8s/Docker/DevOps 文档,超实用!| 极客时间神器!基于docker渗透测试工具箱面试官:如何使用 Dockerfile 去构建自定义的 Docker 镜像?问倒一大片。。。性能追平存算一体!StarRocks 3.1 重磅发布,真正的云原生湖仓来了“演唱会门票”应该说concerts' tickets还是concert tickets?日本的通透屋顶之家,创造自然的关系,保持合理距离水乡8个最佳Docker容器监控工具,收藏了“真正舒服的关系,往往是…”精选SDE岗位 | BlackRock、Zoom、BlackBerry公司岗位发布!人到中年方懂:最纯洁的关系,是金钱关系通俗易懂k8s——核心组件8月最新!McKinsey、BlackRock...200+公司开岗,最快3周拿Offer人到中年方懂,最纯洁的关系,是金钱关系详解 Docker!妖鬼2最长久的关系,就是会成长的关系
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。