【Docker】可以将TA用于什么,简单了解下

欢迎来到《小5讲堂》,大家好,我是全栈小5。
这是是《Docker容器》序列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • Docker用途
    • 交付程序
    • 响应式
  • Docker架构
    • Docker端
    • Docker守护程序
    • Docker客户端
    • Docker注册表
    • Docker对象
      • 图片
      • 货柜
  • 底层技术
  • 核心组件

Docker用途

交付程序

容器有一个非常好的特点,非常适合进行持续集成和持续交付(CI / CD)工作流。
Docker是一种软件平台,它允许开发人员使用本地容器来构建和运行应用程序和服务。
容器提供了一个标准化的环境,使开发人员可以在任何计算机上工作,而无需担心应用程序在不同环境中的兼容性和依赖关系。
通过使用Docker,开发人员可以简化应用程序的开发、测试和部署过程,提高开发效率并降低问题发生的可能性。
在这里插入图片描述
官方提供的示例方案:

  • 您的开发人员在本地编写代码,并使用Docker容器与同事共享他们的工作。
  • 他们使用Docker将其应用程序推送到测试环境中,并执行自动和手动测试。
  • 当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中以进行测试和验证。
  • 测试完成后,将修补程序推送给生产环境就像将更新的映像推送到生产环境一样简单。

响应式

响应式部署和扩展
Docker还有一个比较好的特点就是,高度可移植性特点,允许基于容器的平台高度可移植的工作负载。
比如,Docker容器可运行的介质

  • 开发人员的本地笔记本电脑上
  • 数据中心内的物理或虚拟机上
  • 云提供商上或混合环境中运行

Docker的可移植性和轻量级的特性还使您可以轻松地动态管理工作负载,并根据业务需求指示实时扩展或拆除应用程序和服务。

Docker架构

Docker端

Docker使用客户端-服务器架构。
Docker客户端与Docker守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作。
Docker客户端和守护程序可以 在同一系统上运行,或者您可以将Docker客户端连接到远程Docker守护程序。
Docker客户端和守护程序在UNIX套接字或网络接口上使用REST API进行通信。
另一个Docker客户端是Docker Compose,它使您可以处理由一组容器组成的应用程序。
在这里插入图片描述

Docker守护程序

Docker守护程序(dockerd)侦听Docker API请求并管理Docker对象,例如图像,容器,网络和卷。守护程序还可以与其他守护程序通信以管理Docker服务。

Docker客户端

Docker客户端(docker)是许多Docker用户与Docker交互的主要方式。当您使用诸如之类的命令时docker run,客户端会将这些命令发送到dockerd,以执行这些命令。该docker命令使用Docker API。Docker客户端可以与多个守护程序通信。

Docker注册表

Docker注册表存储Docker映像。Docker Hub是任何人都可以使用的公共注册表,并且默认情况下,Docker已配置为在Docker Hub上查找映像。您甚至可以运行自己的私人注册表。
使用docker pull或docker run命令时,将从配置的注册表中提取所需的图像。使用该docker push命令时,会将映像推送到已配置的注册表。

Docker对象

使用Docker时,您正在创建和使用映像,容器,网络,卷,插件和其他对象。本节是其中一些对象的简要概述。

图片

一个图像是用于创建一个码头工人容器指令的只读模板。通常,一个映像基于另一个映像,并进行一些其他自定义。例如,您可以基于该ubuntu 映像构建映像,但安装Apache Web服务器和您的应用程序,以及运行该应用程序所需的配置详细信息。
您可以创建自己的图像,也可以仅使用其他人创建并在注册表中发布的图像。要构建自己的映像,您可以 使用简单的语法创建一个Dockerfile,以定义创建映像并运行它所需的步骤。Dockerfile中的每条指令都会在映像中创建一个层。当您更改Dockerfile并重建映像时,仅重建那些已更改的层。与其他虚拟化技术相比,这是使映像如此轻巧,小型和快速的部分原因。

货柜

容器是图像的可运行实例。您可以使用Docker API或CLI创建,启动,停止,移动或删除容器。您可以将容器连接到一个或多个网络,将存储连接到它,甚至根据其当前状态创建一个新映像。
默认情况下,容器与其他容器及其主机之间的隔离度相对较高。您可以控制容器的网络,存储或其他底层子系统与其他容器或与主机的隔离程度。

底层技术

Docker用Go编程语言编写,并利用Linux内核的多种功能来交付其功能。
Docker使用一种称为的技术namespaces来提供称为容器的隔离工作区。
运行容器时,Docker会为该容器创建一组 名称空间。
这些名称空间提供了一层隔离。容器的每个方面都在单独的名称空间中运行,并且对其的访问仅限于该名称空间。

核心组件

Docker的架构主要由三个核心组件组成:
1.Docker引擎(Docker Engine)
也称为Docker守护进程,是整个Docker系统的运行时组件。它负责管理Docker容器的创建、运行和销毁,以及容器间的通信和资源隔离等功能。

2.Docker镜像(Docker Image)
镜像是Docker应用程序和服务的构建块。镜像是只读的、轻量级的文件,它包含了运行应用程序所需的所有文件系统、库和依赖关系。可以将镜像看作是应用程序的静态快照。

3.Docker容器(Docker Container)
容器是基于镜像创建的可运行实例。容器是可移植的、封装了应用程序和其依赖关系的单元,它们在一个隔离的环境中运行。容器可以快速启动、停止和重启,而且相互之间互不干扰。

除了这些核心组件外,Docker还有一些辅助组件,如Docker Compose(用于定义和运行多个容器的应用组)和Docker Swarm(用于管理容器集群和进行容器编排)等。这些组件共同构成了Docker的架构,使得开发人员可以轻松地构建、共享和部署容器化的应用程序和服务。

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

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

相关文章

RabbitMQ(十一)队列的扩展属性(Arguments)

目录 一、简介二、队列扩展属性清单三、代码示例3.1 实现方式一:channel.queueDeclare()3.2 实现方式二:QueueBuilder.build() 一、简介 RabbitMQ 允许用户在声明队列、交换机或绑定时设置 扩展属性(Arguments),这些扩…

c++语言基础19-洗盘子(栈)

题目描述 在餐厅里,洗盘子的工作需要使用到栈这种数据结构。假设你手里有一个盘子堆放区。现在需要模拟洗盘子的过程,每个盘子都有一个编号。 盘子堆放区操作说明: 1. 当操作为 1 时,表示从盘子堆放区拿走顶部的盘子清洗。 2. 当…

数据库管理-第130期 JSON二元性(20240109)

数据库管理130期 2024-01-09 第130期 JSON二元性(20240109)1 简介2 关系型表和JSON存储的优劣3 Oracle JSON关系型二元性视图总结 第130期 JSON二元性(20240109) 上周,又双叒飞了一趟上海,也是2024年第一飞…

LeetCode-字符串转换整数atoi(8)

题目描述: 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检查下一个字符&…

无线网卡怎么连接台式电脑?正确操作步骤分享!

“我在使用电脑时经常都需要用到网络,请问大家在使用无线网卡时怎么将它与台式电脑进行连接的呢?” 使用电脑的用户在进行网上冲浪时都需要先连接网络。如果不想使用网线,无线网卡不仅可以为用户提供网络服务,在使用时该更加灵活和…

MySQL使用count进行行数统计

MySQL count 在使用count进行数据统计行数时,有时候会使用count(*),有时候会使用count(1),有时候会使用count(列名),那么这些有什么不同呢 当使用列名作为参数时,count函数会自动忽略null值,而使用*或者常量…

springCould中的gateway-从小白开始【9】

目录 1.🍟网关是什么 2.🍿gateway是什么 3.🥚gateway能什么 4.🌭核心概念 5.🧂工作流程 6.🧈实例 7.🥓gateway网关配置的方式 8.🍳配置动态路由 9.🧇pred…

Excel使用pandas拆分单元格扩展

需要: 1. anconda环境 2. excel文件,有拆分标准的单元格内容(比如我此次的:**, ***, ****,...) 以前尝试自己写公式,唉😔,不是写不出来,就是太折腾了 3. 2行code,超级…

2022 年全国职业院校技能大赛高职组云计算赛项试卷部分解析

2022 年全国职业院校技能大赛高职组云计算赛项试卷部分解析 【赛程名称】高职组-云计算赛项第一场-私有云【任务 1】私有云服务搭建[10 分]【题目 2】Yum 源配置[0.5 分]【题目 3】配置无秘钥 ssh[0.5 分]【题目 4】基础安装[0.5 分]【题目 5】数据库安装与调优[0.5 分]【题目 …

IBM Spectrum LSF 常见问题

IBM Spectrum LSF 常见问题 1、随此产品一起部署的集群中包含哪些 Spectrum LSF 软件包? 包含以下 Spectrum LSF 程序: IBM Spectrum LSF Standard Edition IBM Spectrum LSF 许可证调度程序 IBM Spectrum LSF 数据管理器 2、哪些位置可用于部署 VPC 资源? 可以在 资源部…

yolo v7支持的设备

将一个深度学习模型(在这里是YOLOv7,一个目标检测模型)从PyTorch导出到不同的格式,以便在不同平台上进行推理(inference)。列出的方法包括: PyTorch 转 CoreML(适用于 macOS/iOS&am…

C++PDF书籍下载

[提高C.性能的编程技术].左飞.扫描版[www.ed2kers.com].pdf 链接: https://pan.baidu.com/s/1uA-oDGYhtAHmGZsbcr_Eow 密码: abv1 深度探索C对象模型.pdf 链接: https://pan.baidu.com/s/1uG9FDIq7T9EZIbjrfAVQaw 密码: gqaj C和C编码安全.pdf 链接: https://pan.baidu.com/s…

0003__WebAssembly完全入门——了解wasm的前世今身

WebAssembly完全入门——了解wasm的前世今身_webassembly.instantiate env-CSDN博客 WebAssembly初级——认识WebAssebmly(一)-CSDN博客

Hystrix服务熔断机制

熔断机制 熔断机制是应对雪崩效应的一种微服务链路保护机制,当系统链路中的某个微服务出现错误不可用或者响应时间太长的时候就会进行服务的降级,进而熔断该服务的调用,快速返回熔断的响应信息。当检测到该节点微服务调用正常后,…

Ansible自动化运维(二)ad-hoc 模式详解

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

506 - System Dependencies (UVA)

题目链接如下: Online Judge 这道题有个小细节,explicitly installed的component,不能被implicitly removed. 有一点拓扑排序的思想,用in[component]代表目前depend on在这个component上的component数量。 我的代码如下&…

秒杀相关问题及答案(2024)

1、描述一个秒杀系统的基本架构,并解释其中的关键组件 一个基本的秒杀系统架构通常由以下关键组件构成: 前端界面:用户与系统交互的界面,提供产品页面、秒杀开始倒计时、按钮等,用于发起秒杀请求。 反向代理和负载均…

【Linux】Linux系统编程——Linux常用快捷键

在 Linux 中,特别是在使用命令行界面时,有许多快捷键可以提高你的工作效率。以下是一些常用的快捷键: 命令行编辑: Ctrl A:移动光标到行首。Ctrl E:移动光标到行尾。Ctrl U:删除光标之前到行…

PLC期末速成——顺序功能图转梯形图

一、根据顺序功能图写出梯形图程序 顺序功能图: 梯形图: 1、程序段1,系统运行标志M0.0的启-保-停控制电路。 2、程序段2,PLC上电与逆行,初始化脉冲M1.0激活初始化步M2.0。 3、程序段3,当M2.0初始化步为活…

使用Dependency Walker和Process Explorer排查瑞芯微工具软件RKPQTool.exe启动报错的问题

目录 1、问题说明 2、使用Dependency Walker查看工具程序的库依赖关系