【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.mfbz.cn/a/302433.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

独立式键盘的按键功能扩展:“以一当四“

#include<reg51.h> // 包含51单片机寄存器定义的头文件 unsigned char ID; //储存流水灯的流动速度 sbit S1P1^4; //位定义S1为P1.4 /************************************************************** 函数功能&#xff1a;延时子程序 ***********…

卷积神经网络|迁移学习-猫狗分类完整代码实现

还记得这篇文章吗&#xff1f;迁移学习|代码实现 在这篇文章中&#xff0c;我们知道了在构建模型时&#xff0c;可以借助一些非常有名的模型&#xff0c;这些模型在ImageNet数据集上早已经得到了检验。 同时torchvision模块也提供了预训练好的模型。我们只需稍作修改&#xf…

我的阿里云服务器被攻击了

服务器被DDoS攻击最恶心&#xff0c;尤其是阿里云的服务器受攻击最频繁&#xff0c;因为黑客都知道阿里云服务器防御低&#xff0c;一但被攻击就会进入黑洞清洗&#xff0c;轻的IP停止半小时&#xff0c;重的停两个至24小时&#xff0c;给网站带来很严重的损失。而处理 ddos 攻…

Spring Cloud Gateway整合Sentinel

日升时奋斗&#xff0c;日落时自省 目录 1、实现整合 1.1、添加框架依赖 1.2、设置配置文件 1.3、设置限流和熔断规则 1.3.1、限流配置 Route ID限流配置 API限流配置 1.3.2、熔断配置 2、实现原理 先前Sentinel针对是业务微服务&#xff0c;没有整合Sentinel到Spring…

若依CRUD搬砖开始,Java小白入门(十)

背景 经过囫囵吞枣的学习若依框架&#xff0c;对于ruoyi-framework&#xff0c;common&#xff0c;安全&#xff0c;代码生成等模块都看了一圈&#xff0c;剩余的调度模块&#xff0c;这个暂时不深入&#xff0c;剩余的是ruoyi-system&#xff0c;就是用mybatis完成的&#xf…

c/c++基础 自增自减运算符 大白讲解i++/i--/++i/--i

后置运算符&#xff1a;i表示在使用x之后&#xff0c;再使x的值加1&#xff0c;即ii1; 前置运算符&#xff1a;i表示在使用x之前&#xff0c;先使x的值加1&#xff0c;即ii1. 前缀运算和后缀运算的区别&#xff1a;前缀运算是“先变后用”&#xff0c;而后缀运算是“先用后变”…

JavaScript:Date 对象-时间日期

Date 对象-时间日期: - JS中所有的关于时间信息都需要通过Date对象来表示 // 创建一个Date对象 // 如果直接使用new Date()创建时间对象&#xff0c;它会默认创建一个表示代码执行时刻的对象var d new Date();// 如果希望创建一个指定的时间的Date的对象&#xff0c;需要传递…

《代码整洁之道之程序员的职业素养》-验收测试测试策略

Tips&#xff1a;此文为阅读Bob大叔的《代码整洁之道》一书的摘抄小记&#xff0c;谨慎“食用” 一、验收测试 重视沟通&#xff0c;专业开发人员既要做好开发也要做好沟通。“输入糟糕&#xff0c;输出也会糟糕”&#xff0c;职业程序员需要重视与团队及业务部门的沟通&…

IP3005A 超高精度内置MOSFET 单节锂电池保护IC 英集芯

描述 IP3005系列IC是一款超高精度的单节锂离子/ 锂聚合物电池保护芯片&#xff0c;它内置功率MOSFET&#xff0c;全 集成了超高精度的过充电压、过放电压、过放电流、 过充电流检测保护电路。 IP3005采用了精确的电压判断电路&#xff0c;让过充电压&#xff0c;过充恢复电压&…

一天一个设计模式---单例模式

概念 单例模式是一种创建型设计模式&#xff0c;其主要目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这意味着在应用程序中的任何地方&#xff0c;只能有一个实例存在&#xff0c;而不会创建多个相同类型的实例。 具体内容 单例模式通常包括以下几个要素…

如何解决vscode中文路径的问题

首先我们进入设备 搜索“区域”&#xff0c;选择“区域设置” 点击管理语言设置 点击更改系统区域设置&#xff0c;勾选“Beta 版: 使用 Unicode UTF-8 提供全球语言支持(U)”&#xff0c;电脑会叫你重启&#xff0c;你重启就行了

树莓派点亮led(1)

更换清华源 树莓派更换国内源&#xff08;清华源&#xff09;_树莓派更换清华源-CSDN博客 查看python版本 安装pipx 安装引脚 查看引脚 #安装gpio 创建文件夹 创建py文件 运行python文件 ubuntu传递文件到树莓派 1、启用ubuntu端的新终端 2拷贝文件到home目录下的用户文件夹…

AI人工智能学习路线图

学习人工智能 AI 的路线通常包括以下几个步骤&#xff1a;了解人工智能的基本概念和历史&#xff0c;包括机器学习、神经网络、深度学习等技术。学习数学基础知识&#xff0c;包括线性代数、微积分、概率论和统计学等。学习编程基础知识&#xff0c;包括 Python、C 等编程语言。…

手把手教学git-idea在实际开发中如何使用(适用于包装/实习同学)

TOC 前言 当前git主流的使用方式有可视化工具和git命令行, 这里主要介绍可视化工具(idea中的git)的使用方法, 其他比较好用的可视化工具还有SourceTree git-idea idea中git相关页面和功能的介绍 图一 图二 图三 图四 合并代码解决冲突: 合并代码我知道的方法有三种…

研究生写爬虫险些锒铛入狱,起因竟是为爱冲锋?

我国目前并未出台专门针对网络爬虫技术的法律规范&#xff0c;但在司法实践中&#xff0c;相关判决已屡见不鲜&#xff0c;K 哥特设了“K哥爬虫普法”专栏&#xff0c;本栏目通过对真实案例的分析&#xff0c;旨在提高广大爬虫工程师的法律意识&#xff0c;知晓如何合法合规利用…

2024了,我不允许你还不会:Qt查看与调试源码

一、人人都是大佬&#xff0c;谦&#xff08;卑&#xff09;虚&#xff08;心&#xff09;长远进步 作为一个Qt的开发者&#xff0c;下面这段代码你已经快到了“相看两不厌”的状态了吧。你有没有好奇过&#xff0c;a.exec() 到底干了什么&#xff1f; 我不允许你再说 这是Qt …

stable diffusion 人物高级提示词(五)场景、特效、拍摄手法、风格

一、场景 场景Promptindoor室内outdoor室外cityscape城市景色countryside乡村beach海滩forest森林mountain山脉snowfield雪原skyscraper摩天大楼ancient monument古代遗迹cathedral大教堂library图书馆museum博物馆office building办公大楼restaurant餐厅street market街头市场…

Spring——Spring整合MyBatis

Spring整合MyBatis 1.创建工程 1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

数据结构——队列(Queue)

目录 1.队列的介绍 2.队列工程 2.1 队列的定义 2.1.1 数组实现队列 2.1.2 单链表实现队列 2.2 队列的函数接口 2.2.1 队列的初始化 2.2.2 队列的数据插入&#xff08;入队&#xff09; 2.2.3 队列的数据删除&#xff08;出队&#xff09; 2.2.4 取队头数据 2.2.5 取队…

SpringBoot+策略模式实现多种文件存储模式

一、策略模式 背景 针对某种业务可能存在多种实现方式&#xff1b;传统方式是通过传统if…else…或者switch代码判断&#xff1b; 弊端&#xff1a; 代码可读性差扩展性差难以维护 策略模式简介 策略模式是一种行为型模式&#xff0c;它将对象和行为分开&#xff0c;将行…
最新文章