【Docker 学习笔记】Docker架构及三要素

news2025/2/3 11:11:25

文章目录

    • 一、Docker 简介
    • 二、Docker 架构
      • 1. Docker 客户端和服务器
      • 2. Docker 架构图
      • 3. Docker 运行流程图
    • 三、Docker 三要素
      • 1. 镜像(Image)
      • 2. 容器(Container)
      • 3. 仓库(Repository)

一、Docker 简介

Docker是一个开源的应用容器引擎,基于Go语言 并遵从Apache2.0协议开源;

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

二、Docker 架构

1. Docker 客户端和服务器

Docker是客户-服务器(C/S)架构的程序。

Docker客户端只需向Docker服务器或守护进程发出请求,服务器或守护进程将完成所有工作并返回结果。

Docker提供了一个命令行工具docker以及一整套 RESTful API

你可以在同一台宿主机上运行Docker守护进程和客户端,也可以从本地的Docker客户端连接到运行在另一台宿主机上的远程Docker守护进程。

下图描绘了Docker的架构:

docker架构

2. Docker 架构图

docker架构图

3. Docker 运行流程图

Docker运行流程图

三、Docker 三要素

Docker的三个基本要素:镜像(Image)、容器(Container)、仓库(Repository)

1. 镜像(Image)

镜像是容器构建的基石,是基于联合文件系统(UnionFS)的一种层式结构。

它由一系列指令构建,是一种轻量级、可执行的独立软件包,用于打包软件运行环境和基于运行环境开发的软件(代码、运行时、库、环境变量和配置文件)。

Docker镜像(image)就是一个只读的模板。 镜像可以用来创建Docker容器,一个镜像可以创建很多容器

2. 容器(Container)

Docker利用容器(container)独立运行的一个或者一组应用。

容器是利用镜像创建的运行实例(相对于Java中的类和对象的概念)。

容器可以被启动、开始、停止、删除。每个容器都是互相隔离的,保证安全的平台。

可以把容器看做是一个简易版的Linux环境 (包括root用户名权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序

3. 仓库(Repository)

仓库(repository)是集中存放镜像文件的场所。

Docker 公司提供了公共的镜像仓库Docker Hub(https://hub.docker.com),提供了庞大的镜像集合供使用。

一个 Docker Registry 中可以包含多个仓库(Repository),每个仓库可以包含多个标签(Tag),每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。




更多详情可参考

Docker 架构及工作原理 - docker动态 - docker中文社区

Docker架构及其三要素 - DeepInThought - 博客园 (cnblogs.com)

Docker原理(图解+秒懂+史上最全)_40岁资深老架构师尼恩的博客-CSDN博客

图解Docker的整体架构_docker架构图_postnull的博客-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【100天精通python】Day19:python文件及目录操作_基本文件操作

目录 专栏导读 1 文件的创建打开和关闭 2.1 使用内置函数open(),close()创建打开和关闭 2.2 使用with语句打开和关闭 2 文件的读取 2.1 读取整个文件read() 2.2 逐行读取文件内容readlines() 3 文件的写入 3.1 直接写入 3.2 写入整个文件 3.3 逐行写入文件 4 文件…

SAP 密码管理(自动登录)

前提&#xff1a; Office excel版本2013及更高版本 SAP系统启用GUI脚本 RZ11: 参数sapgui/user_scripting 修改为 TRUE 一&#xff1a;安装Excel插件&#xff0c;并维护登陆信息 二&#xff1a;登陆系统 插件下载链接&#xff1a; (185条消息) SAP密码管理excle插件资源-C…

windows下使用pytorch进行单机多卡分布式训练

首先&#xff0c;pytorch的版本必须是大于1.7&#xff0c;这里使用的环境是&#xff1a; pytorch1.12cu11.6 四张4090显卡 python3.7.6使用nn.DataParallel进行分布式训练 这一种方式较为简单&#xff1a; 首先我们要定义好使用的GPU的编号&#xff0c;GPU按顺序依次为0,1,2,3…

微信小程序nodejs+vue房屋租赁交易租房平台

本系统功分为用户&#xff0c;经纪人&#xff0c;管理员三个角色&#xff0c;其中用户可以进行注册登陆系统&#xff0c;用户可以查看中介门店&#xff0c;查看经纪人&#xff0c;在线预定房源&#xff0c;在线租赁房源&#xff0c;可以发布求购房源&#xff0c;求租房源&#…

Mac/win开发快捷键、vs插件、库源码、开发中的专业名词

目录 触控板手势&#xff08;2/3指&#xff09; 鼠标右键 快捷键 鼠标选择后shift⬅️→改变选择 mac command⬅️&#xff1a;删除←边的全部内容 commadtab显示下栏 commandshiftz向后撤回 commandc/v复制粘贴 command ⬅️→回到行首/末 commandshift3/4截图 飞…

element dialog弹出框层级错乱问题

需要加modal-append-to-body 默认为true&#xff0c;遮罩层是否插入至 body 元素上&#xff0c;若为 false&#xff0c;则遮罩层会插入至 Dialog 的父元素上。 为false时的HTML结构 为true时的HTML结构 出现弹框层级错乱问题时可以modal-append-to-body是否设置为false了。

【LS科技芯团队成立】基础研究是科学之本、技术之源、创新之魂

目录 LS科技芯团队简介 团队创建人 成立本团队的核心目的 来自各个省份的大佬专家们 加入LS科技芯团队吧&#xff01; LS科技芯团队简介 “LS科技芯”团队于2023年7月25日下午成立。汇聚了来自各个省份的技术博主&#xff0c;涵盖了电子技术&#xff0c;程序设计&#xff0c;…

软件兼容性测试中需注意的关键问题

在进行软件兼容性测试时&#xff0c;有一些关键问题需要特别注意&#xff0c;以确保测试的准确性和全面性。本文将介绍一些在软件兼容性测试中需注意的关键问题&#xff0c;帮助测试人员更好地进行兼容性测试工作。 首先&#xff0c;测试范围&#xff0c;测试人员需要明确测试的…

sql查询语句大全-详细讲解(格式、示例)

目录 范围查询 BETWEEN...AND in 为空 模糊查询 去重查询 AND OR 排序查询 聚合函数 1.count&#xff1a;计算个数 2.max&#xff1a;计算最大值 3.min&#xff1a;计算最小值 4.sum&#xff1a;计算和 5.avg&#xff1a;计算平均数 分组查询 group by 分组后…

vite / nuxt3 项目使用define配置/自定义,可以使用process.env.xxx获取的环境变量

每日鸡汤&#xff1a;每个你想要学习的瞬间&#xff0c;都是未来的你向自己求救 首先可以看一下我的这篇文章了解一下关于 process.env 的环境变量。 对于vite项目&#xff0c;在我们初始化项目之后&#xff0c;在浏览器中打印 process.env&#xff0c;只有 NODE_ENV这个变量&…

【HMS Core】统一扫描连续扫码、闪光灯关闭问题

【问题描述1】 使用Default View Mode进行扫码&#xff0c;如何实现连续扫码 【解决方案】 在默认扫码模式Default View中&#xff0c;功能是集成在SDK内部的&#xff0c;无法设置连续扫码模式等信息。 可以使用Customized View Mode这种模式&#xff0c;它提供了相关的api可…

【一天三道算法题】代码随想录——Day14

一. 有效的括号 题目链接&#xff1a;力扣 思路&#xff1a;无非三种情况&#xff1a; 1. 左侧括号多&#xff0c;右侧少 2. 左右侧一样多&#xff0c;该字符串属于有小括号字符串 3. 右侧括号多&#xff0c;左侧少 那么说白了就是要比较左右括号的数量&#xff0c;谁多&…

KNN背景分割算法

以下代码用OpenCV实现了视频中背景消除和提取的建模&#xff0c;涉及到KNN&#xff08;K近邻算法&#xff09;&#xff0c;真题效果比较好&#xff0c;可以用来进行状态分析。 原理如下&#xff1a; 背景建模&#xff1a;在背景分割的开始阶段&#xff0c;建立背景模型。 前景…

容器部署jenkins定时构建于本地时间不一致

1. Dockerfile FROM jenkins/jenkins:2.411-jdk11 USER root #以下生成密钥方式为旧格式&#xff0c;因为新格式暂不能被"Publish over SSH--->Jenkins SSH Key"功能识别 RUN ssh-keygen -q -m PEM -t rsa -b 2048 -N -f /root/.ssh/id_rsa ADD ./apache-maven…

区分jdbcTemplate操作数据库和mybatis操作数据库

JdbcTemplate和MyBatis是Java中常用的两种数据库操作方式。它们在实现上有一些区别&#xff0c;下面我将为你介绍它们的主要特点和区别&#xff1a; JdbcTemplate&#xff1a; JdbcTemplate是Spring框架中提供的一个类&#xff0c;用于简化JDBC操作。使用JdbcTemplate时&#x…

【设计模式】观察者设计模式解析

目录 一、观察者模式定义 二、观察者模式角色 三、观察者模式类图 四、观察者模式实例 五、观察者模式优缺点 5.1、优点 5.2、缺点 六、观察者模式应用 6.1、Spring 中观察者模式的四个角色 6.2、coding~~~~~~ 一、观察者模式定义 观察者模式(Observer Pattern)&#…

【Unity细节】关于NotImplementedException: The method or operation is not implemented

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity细节和bug ⭐关于NotImplementedException: The method or operation is not implemented.⭐…

【MATLAB第61期】基于MATLAB的GMM高斯混合模型回归数据预测

【MATLAB第61期】基于MATLAB的GMM高斯混合模型回归数据预测 高斯混合模型GMM广泛应用于数据挖掘、模式识别、机器学习和统计分析。其中&#xff0c;它们的参数通常由最大似然和EM算法确定。关键思想是使用高斯混合模型对数据&#xff08;包括输入和输出&#xff09;的联合概率…

MFC自定义控件使用

用VS2005新建一个MFC项目,添加一个Custom Control控件在窗体 我们需要为自定义控件添加一个类。项目,添加类,MFC类 设置类名字,基类为CWnd,你也可以选择CDialog作为基类 类创建完成后,在它的构造函数中注册一个新的自定义窗体,取名为"MyWindowClass" WNDCL…

3ds max 烘培世界坐标到贴图/顶点色

设置Diffuse 为ObjectNormal Normalize(objectNormal) * 0.5 0.5 把Diffuse烘培到顶点色 烘培Diffuse到贴图 模型按UV展开 右键复制 &#xff0c; 到mesh上粘贴 烘培到贴图 UE使用 贴图导入为BC7 float3 n ObjectNormal*2-1; return float3(n.x,n.z,n.y); // x ,z ,y