论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
【docker专栏3】docker基础概念-容器、镜像以及引擎组成 ...
【docker专栏3】docker基础概念-容器、镜像以及引擎组成部分 ...
瑞星
金牌会员
|
2022-8-25 10:05:28
|
显示全部楼层
|
阅读模式
楼主
主题
864
|
帖子
864
|
积分
2592
一、docker镜像与容器
docker镜像是一个可执行的静态独立软件包,包含打包程序代码和软件运行环境等文件。如:代码、运行时库、环境变量和配置文件等都包含在其中。容器是镜像的运行时状态(镜像中的软件、程序运行),占用服务器CPU、内存、磁盘等资源。
如果学过java,用下面的这个类比能够更形象的理解二者之间的关系:
镜像可以类比java类的二进制字节码文件。
容器可以类比由字节码实例化出来的java对象。
一个字节码文件(类)可以new出来多个对象,一个镜像可以快速实例化多个容器服务。
镜像来源有哪些?
Docker Hub官方镜像,以及国内阿里云等都有对外开放的docker镜像仓库。
使用Dockerfile自己构建镜像。Dockerfile是代码文件、环境变量、系统依赖软件等的构建描述,将镜像的构建过程固化下来,保证了不重复做环境安装工作。概念上类似于maven的pom.xml。
企业私有镜像以及私有镜像仓库Docker registry
docker容器的本质是宿主机上的一个进程,这句话怎么理解?
容器的的运行时实质是进程,但它与直接在宿主机里面执行的进程有所不同,容器进程存在属于自己的独立的命名空间。因此容器拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。
容器内的进程是运行在一个隔离的环境里,使用起来就好像是在一个独立于宿主的系统下操作一样。也因为这种隔离的特性,很多人初学 Docker 时常常会混淆容器和虚拟机。
二、Docker 核心组成部分
我们在前文中安装的Docker CE主要由如下几部分构成:Docker 客户端(Docker Client)、Docker 守护进程(Docker daemon)、containerd 以及 runc,它们协调合作共同负责容器的创建和运行以及生命周期的管理。
Docker Client:命令行方式向docker引擎(服务端)发送指令。
REST API:docker 引擎(服务端)通过RESTful API的方式,对外提供操作命令入口。
daemon:docker 守护进程,包含REST AP、身份验证、基础配置管理等特性。
containerd:核心功能用于容器生命周期的管理,如:启动、暂停、删除等。镜像管理功能也在containerd中。
runc :runc是一个轻量级的、针对 Libcontainer 进行了包装的命令行交互工具(Libcontainer 取代了早期 Docker 架构中的 LXC)。LXC 提供了对诸如命名空间(Namespace)和控制组(CGroup)等基础工具的操作能力。
namespace实现资源隔离,如:独立的文件系统、网络空间、用户空间等。
cgroups实现资源的限制,如每个容器使用多少内存。
欢迎关注我的公告号:字母哥杂谈(侧边栏扫码关注),回复003赠送本文所在专栏《docker修炼之道》的PDF版本,30余篇精品docker文章。字母哥博客:
zimug.com
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
瑞星
金牌会员
这个人很懒什么都没写!
楼主热帖
复习一下Linux常用命令,孰能生巧~ ...
OpenSSL RSA相关基本接口和编程示例 ...
一次服务器被入侵的处理过程分享 ...
适用于顺序磁盘访问的1分钟法则 ...
Oracle实现金额小写转大写函数 ...
2022护网面试题总结
Android studio 连接SQLite数据库 +创 ...
执行计划缓存,Prepared Statement性能 ...
《Redis设计与实现》
Blazor概述和路由
标签云
存储
挺好的
服务器
浏览过的版块
网络安全
快速回复
返回顶部
返回列表