认识Docker

news2024/11/19 5:48:25

Docker 是世界领先的软件容器平台,所以想要搞懂 Docker 的概念我们必须先从容器开始说起。

1.1 什么是容器?
先来看看容器较为官方

一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。

容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。
容器化软件适用于基于 Linux 和 Windows 的应用,在任何环境中都能够始终如一地运行。
容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突。
#再来看看容器较为通俗的解释
如果需要通俗地描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。

d3ac357f7fc8449a98dbcd689cd3ecad.png

 

1.2 图解物理机,虚拟机与容器

关于虚拟机与容器的对比在后面会详细介绍到,这里只是通过网上的图片加深大家对于物理机、虚拟机与容器这三者的理解(下面的图片来源于网络)。

物理机:9161208b4fb3410ca7822251b8e14486.png

虚拟机:

55d5e172b5a349dda804d7b98ebbba6f.png 容器:

066ada98d4a142138edb846b814dccc3.png

通过上面这三张抽象图,我们可以大概通过类比概括出:容器虚拟化的是操作系统而不是硬件,容器之间是共享同一套操作系统资源的。虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统。因此容器的隔离级别会稍低一些。

什么是 Docker?

Docker 是一种开源的应用容器引擎,它可以让开发者将应用程序以及所有依赖项打包到一个可移植的容器中,然后发布到任何运行 Docker 的机器上。Docker 使用容器来隔离应用程序及其依赖项,实现了真正的资源隔离,使得应用程序在容器内运行时与主机系统完全隔离。

Docker的思想来自于集装箱,一个以容器的形式将应用程序及其所有依赖项打包在一起的平台。它使用容器使应用程序的创建、部署和运行变得更加容易。Docker在容器内绑定应用程序及其依赖项。容器允许开发人员将应用程序及其所需的所有部分(例如库和其他依赖项)打包在一起,然后将其作为一个包发送出去。

Docker 容器具有以下特点:

  1. 轻量级:容器与主机共享同一个操作系统,无需启动额外的操作系统,因此容器比虚拟机更加轻量级,启动速度更快。
  2. 可移植性:容器可以在任何运行 Docker 的机器上运行,无论是 Linux 还是 Windows,无论是服务器还是桌面环境。
  3. 隔离性:每个容器都有自己的文件系统、进程、网络等,相互之间完全隔离,保证了应用程序之间的互不影响。
  4. 可扩展性:容器可以很方便地进行扩展,只需简单地启动多个容器实例即可。
  5. 快速部署:由于容器包含了应用程序及其所有依赖项,因此可以快速部署到目标环境中。

使用 Docker 有以下原因:

  1. 简化部署:Docker 容器使得应用程序的部署变得更加简单,无需考虑不同环境之间的差异,只需将容器部署到目标环境即可。
  2. 提高资源利用率:Docker 容器共享宿主操作系统的内核,因此可以充分利用系统资源,提高资源利用率。
  3. 便于持续交付和部署:使用 Docker 可以快速构建和测试环境,并且可以在任何地方将其部署到任何环境中,实现快速部署和持续交付。
  4. 跨平台性:由于 Docker 容器内包含了应用程序及其所有依赖项,因此可以在不同的操作系统和平台上运行,实现了真正的跨平台性。
  5. 可扩展性:Docker 容器可以很方便地进行扩展,只需简单地启动多个容器实例即可,使得应用程序能够轻松地应对高并发和高流量的访问。
  6. 便于容器化管理:使用 Docker 可以很方便地进行容器化管理,例如启动、停止、重启、删除等操作都可以通过简单的命令实现。
  7. 便于监控和管理:使用 Docker 可以很方便地对容器进行监控和管理,例如查看容器的资源使用情况、日志等。

Docker 的基本概念包括以下几个:

  1. Docker 镜像(Image):Docker 镜像是用于创建 Docker 容器的模板,包含了运行应用程序所需的所有文件和依赖项。
  2. Docker 容器(Container):Docker 容器是运行应用程序的实际环境,由 Docker 镜像创建而来。每个容器都是相互隔离的运行环境。
  3. Docker 仓库(Repository):Docker 仓库是用于存储和管理 Docker 镜像的地方。可以将 Docker 镜像上传到公共仓库或者私有仓库中进行管理和分发。
  4. Dockerfile:Dockerfile 是用于定义 Docker 镜像构建过程的文本文件。它包含了用于构建 Docker 镜像的所有指令和配置信息。
  5. Docker Host:Docker Host 是运行 Docker 容器的机器环境,可以是物理机或者虚拟机。

 

 

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

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

相关文章

跨境卖家2023圣诞节攻略:激发购物热情,海外网红营销大作战

随着全球电商的快速发展,跨境卖家们正面临着越来越激烈的竞争。在这个竞争激烈的市场中,如何通过有效的营销策略吸引目标受众,成为跨境卖家需要认真思考的问题之一。尤其是在圣诞节这个全球性的购物狂欢节,海外网红营销成为了一种…

12月第一天,给搞电商的家人们整活儿!

今年,大家出门的热情直线飙升! 特种兵旅游带火N个小众城市、Citywalk大军激活大街小巷的商业活力、线下演出火爆带动各地文旅指数狂飙,户外运动也乘风而上,徒步/露营/钓鱼/骑行/冲浪/滑雪等花式运动在各大社媒平台集中刷屏&#…

接口验签规则

一、验签的背景 在网络发展快速的过程中,总是会忽略接口数据安全问题,进行验签则能够在一定程度上能够防刷,数据篡改。 二、什么是加签验签 加签验签, 发送消息方,对消息加签名; 接受消息方&#xff0…

记一次引入低版本包导致包冲突,表现为NoClassDefFoundError的故障

简而言之&#xff0c;因为参考别的项目处理excel的代码if(org.apache.poi.hssf.usermodel.HSSFDateUtil.isCellDateFormatted(cell)) &#xff0c;为了使用这个HSSFDateUtil类我引入了依赖&#xff1a; <dependency><groupId>org.apache.poi</groupId><a…

探索 Linux Namespace:Docker 隔离的神奇背后

来自&#xff1a;探索云原生 https://www.lixueduan.com 原文&#xff1a;https://www.lixueduan.com/posts/docker/03-container-core/ 在 深入理解 Docker 核心原理&#xff1a;Namespace、Cgroups 和 Rootfs 一文中我们分析了 Docker 是由三大核心技术实现的。 今天就一起分…

【ARM Trace32(劳特巴赫) 使用介绍 12 -- Trace32 常用命令之 d.dump | data.dump 介绍】

文章目录 Trace32 常用命令之 d.dump | data.dump 介绍1 字节显示 (Byte)4 字节显示&#xff08;word&#xff09;8 字节显示&#xff08;通常long&#xff09;十进制显示显示指定列数显示地址范围内的值 Trace32 常用命令之 d.dump | data.dump 介绍 在 TRACE32 调试环境中&a…

S32K116新建工程Debug可以运行,冷启动无法运行问题分析

S32K116使用IAR建立工程后&#xff0c;软件debug可以运行&#xff0c;断电冷启动无法运行。 这种现象基本上都是RAM未初始化导致&#xff0c;由于Debug时&#xff0c;调试器会自动初始化芯片&#xff0c;很多问题都不会暴露处理。 大家可以开一下Startup的汇编文件&#xff0c;…

羊大师教你如何在冬天运动,然后悄悄惊艳所有人

羊大师教你如何在冬天运动&#xff0c;然后悄悄惊艳所有人 寒冷的冬季&#xff0c;寂静的清晨&#xff0c;你是否也曾感到在冰冷的天气中进行锻炼是一件非常困难的事情&#xff1f;但是&#xff0c;现在请跟随小编羊大师一起来探索冬季秘密运动&#xff0c;让你在春节惊艳众人…

XC4060 40V降5V/3.3V 0.6A小电流高耐压芯片 适用于单片机供电输出、电池供电设备

XC4060器件是高效率&#xff0c;同步降压DC/DC稳压器。具有较宽的输入范围&#xff0c;它们适用于广泛的应用&#xff0c;例如来自非稳压源的功率调节。他们的特点是一个长距离(500mQ/300mQ2型) 内部开关的效率最高 (92%)。Sum od (非A选项)和PWM模式(A选项)&#xff0c;工作频…

Windows server 2019 域环境部署

环境准备 准备3台服务器&#xff0c;配置都是8g2核&#xff0c;50g硬盘&#xff0c;操作系统版本Windows Server 2019 Datacenter 域服务器&#xff1a;adc&#xff0c;192.168.56.120服务器1&#xff1a;server1:&#xff0c;192.168.56.121服务器2&#xff1a;server2&…

如何使用gdb调试fork程序

代码示例 #include<stdio.h> #include<unistd.h> #include<sys/types.h> #include<stdlib.h> #include<sys/wait.h>int main(int argc, const char* argv[]) {pid_t pid -1;int status 0;int ret -1; // 创建子进程。若创建成功&#xff0c;…

MySQL基础『数据类型』

✨个人主页&#xff1a; 北 海 &#x1f389;所属专栏&#xff1a; MySQL 学习 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 &#x1f381;软件版本&#xff1a; MySQL 5.7.44 文章目录 1.数据类型一览2.整型2.1.INT2.2.BIT 3.浮点数3.1.FLOAT3.2.DECIMAL3…

【c】序列中整数去重

数组中的元素不好直接删除&#xff0c;我们可以把重复的数做标记&#xff0c;将他赋值为0&#xff0c;然后正常打印数组&#xff0c;为0的跳过 #include<stdio.h> int main() {int n;scanf("%d",&n);int arr[n1];for(int i1;i<n;i){scanf("%d&quo…

LV.12 D22 IIC总线原理 学习笔记

一、IIC总线概述 1.1 IIC总线简介 IIC总线 IIC总线是Philips公司在八十年代初推出的一种串行、半双工总线 主要用于近距离、低速的芯片之间的通信&#xff1b;IIC总线有两根双向的信号线一根数据线SDA用于收发数据&#xff0c;一根时钟线SCL用于通信双方时钟的同步&…

<JavaEE> 单例模式的两种实现:“饿汉模式”和“懒汉模式”

目录 一、单例模式概述 二、“饿汉模式”实现单例模式 三、“懒汉模式”实现单例模式 3.1 单线程下的“懒汉模式” 3.2 多线程下的“懒汉模式” 一、单例模式概述 1&#xff09;什么是单例模式&#xff1f; 单例模式是一种设计模式。 单例模式可以保证某个类在程序中只存…

【C++】STL简介(了解)【STL的概念,STL的历史缘由,STL六大组件、STL的重要性、以及如何学习STL、STL的缺陷的讲解】

这里写自定义目录标题 一、什么是STL二、STL的版本1. 原始版本2. P. J. 版本3. RW版本★ 4. SGI版本 三、STL的六大组件四、STL的重要性五、如何学习STL六、STL的缺陷 一、什么是STL STL ( standard template libaray - 标准模板库 )&#xff1a;是C标准库 的重要组成部分&…

Spring到底是如何解决循环依赖问题的?

Spring作为当前使用最广泛的框架之一&#xff0c;其重要性不言而喻。所以充分理解Spring的底层实现原理对于咱们Java程序员来说至关重要&#xff0c;那么今天笔者就详细说说Spring框架中一个核心技术点&#xff1a;如何解决循环依赖问题&#xff1f; 什么是循环依赖问题&#x…

如何保持操纵机构丝杆的精度?

滚珠丝杆是操纵机构中的重要组成部分&#xff0c;可以传递较高的扭矩&#xff0c;并且具有低摩擦、高效率和快速响应的特性&#xff0c;这使得操纵机构能够实现高速、高精度的运动控制&#xff0c;这对于整个系统的性能和精度具有决定性的影响&#xff0c;保持操纵机构丝杆的精…

U-Shape Transformer for Underwater Image Enhancement(用于水下图像增强的U型Transformer)总结

背景 现有的水下数据集或多或少存在图像数量少、水下场景少、甚至不是真实场景等缺点&#xff0c;限制了数据驱动的水下图像增强方法的性能。此外&#xff0c;水下图像在不同颜色通道和空间区域的衰减不一致也没有统一的框架。 贡献 1&#xff09;提出了一种处理 UIE 任务的…

UI咨询公司-蓝蓝设计:顶级秘籍:提升UI设计吸引力的3大绝招

想要让你的UI设计在海量应用中脱颖而出&#xff0c;吸引用户眼球吗&#xff1f;如果你正在寻找提升UI设计吸引力的绝妙方法&#xff0c;那么你绝对不能错过本文&#xff01;我们将为你揭示顶级UI设计师都不会告诉你的3大绝招&#xff0c;让你轻松掌握提升UI设计吸引力的关键技巧…