首页 > 其他分享 > Image vs Container

Image vs Container

时间:2023-04-14 09:58:02浏览次数:29  
标签:容器 Container 虚拟化 Image 应用程序 vs 图像 Docker image

image 代表每个应用程序的整体构筑环境

container 是根据image启用的不同沙盒

image

 

 

 

Docker image 是一个不可变(不可更改)的文件,其中包含应用程序运行所需的源代码、库、依赖项、工具和其他文件。

由于它们的只读质量,这些图像有时被称为快照。它们表示应用程序及其在特定时间点的虚拟环境。这种一致性是Docker的一大特点。它允许开发人员在稳定、统一的条件下测试和实验软件。

在某种程度上,由于图像只是模板,您无法启动或运行它们。您可以使用该模板作为基础来构建容器。容器最终只是一个正在运行的映像。一旦您创建了一个容器,它就会在不可变的图像上添加一个可写层,这意味着您现在可以修改它了。

创建容器所基于的图像库是单独存在的,不能更改。当您运行一个容器化环境时,您实际上在容器内创建了该文件系统(docker映像)的读写副本。这添加了一个容器层,该容器层允许修改图像的整个副本。

 

 

可以从一个镜像库中创建无限数量的Docker镜像。每次更改图像的初始状态并保存现有状态时,都会创建一个新模板,并在其顶部添加一个附加层。

因此,Docker image可以由一系列层组成,每个层都不同,但也源于前一层。图像层表示只读文件,一旦您使用它来启动虚拟环境,就会向其中添加容器层。

container 

Docker container 是一个虚拟化的运行时环境,用户可以在其中将应用程序与底层系统隔离。这些容器是紧凑的、可移植的单元,您可以在其中快速轻松地启动应用程序。

一个有价值的特性是容器内运行的计算环境的标准化。它不仅可以确保您的应用程序在相同的环境中工作,而且还简化了与其他队友的共享。

由于容器是自主的,它们提供了强大的隔离,确保它们不会中断其他正在运行的容器以及支持它们的服务器。Docker声称这些单元“提供了业内最强的隔离能力”。因此,在开发应用程序时,您不必担心保护机器的安全。

与虚拟机(VM)不同,虚拟化发生在硬件级别,容器在应用程序层进行虚拟化。他们可以利用一台机器,共享其内核,并虚拟化操作系统以运行独立的进程。这使得容器非常轻,使您能够保留宝贵的资源。

 

标签:容器,Container,虚拟化,Image,应用程序,vs,图像,Docker,image
From: https://www.cnblogs.com/mike-mei/p/17317336.html

相关文章

  • v2G技术优化配电系统负荷曲线 从电池中管理使用电动车(EVS)和电力注射构成控制EV的充电
    v2G技术优化配电系统负荷曲线关键词:电动汽车,负荷方差,蒙特卡洛,JAYA算法算法:PSO,MC,JAYA从电池中管理使用电动车(EVS)和电力注射构成控制EV的充电和排放作为有吸引力的研究领域的问题。为大量的电池充电,如果没有控制,损坏配电系统。通过采用使用EVS的最佳规划,他们的停车位可以作为......
  • vscode安装GitHub copliot后,不能启用,也不显示copilot图标
     这个问题可能是由于安装的GitHubCopilot版本与VSCode不兼容导致的。您可以尝试卸载当前的GitHubCopilot插件,然后重新安装一个较早的版本。如果这不起作用,您可以尝试在VSCode中打开命令面板(Ctrl+Shift+P),然后输入“GitHubCopilot:启用”以启用插件。如果您仍然无法解决问题,......
  • Containerd ctr、crictl、nerdctl 客户端命令
    转载自:https://blog.laeni.cn/note/cloud/cri/ctl/由于Containerd已经从Docker独立,这代表Docker底层也是使用的是Containerd。而Containerd是实现了CRI规范的,所以k8s是可以直接使用Containerd而无需再使用Docker的。但是大部分时候我们还是使用Docker作为k8s......
  • VSCode 在 windows 下默认添加 _WIN32 的问题
    现象在VSCode在windows下环境中使用时,会默认添加_WIN32,会出现查看代码时,出现错误提示,现象如下检测到#include错误。请更新includePath。已为此翻译单元(E:\JZ_Works\Project\STM32_ProductMonitor\application\main.c)禁用波形曲线。C/C++(1696)无法打开源文件"win......
  • k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装
    标签(空格分隔):kubernetes系列一:k8s1.27.x的概述1.1:k8s1.27.x更新Kubernetesv1.27正式发布,这是2023年的第一个版本!此版本包含60个增强功能。其中18个增强功能进入Alpha阶段,29个进入Beta阶段,13个进入Stable阶段。版本主题和标志Kubernetesv1.27:ChillVibes......
  • LVS/Nginx/HAProxy原理及应用场景介绍
    负载均衡已经发展成为网络架构中的基础核心组件,消除了服务器单点故障,可以进行请求流量分流,提升冗余,保证服务器的稳定性。在开源的软件负载均衡中,应用最为广泛的有LVS、Nginx、HAProxy,甚至阿里云的SLB也是基于LVS及Nginx的。本文就来阐述下LVS、Nginx、HAProxy的工作原理及应用场景......
  • vscode如何设置HTML/CSS/JS保存后自动格式化?
    具体操作:点击小齿轮,选择设置按钮  第二步:点击右上角按钮,进入设置页面  第三步:粘贴自动保存的js代码!  "editor.formatOnType":true,"editor.formatOnSave":true, ......
  • ObjectARX 构建鼠标跟随图像之acedAddSupplementalCursorImage简单实例
    源ObjectARX2015新增了一个apiacedAddSupplementalCursorImage代码 CBitmapcbmp; cbmp.m_hObject=(HBITMAP)::LoadImage(NULL,_T("d:\\test.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE); BITMAPbm; cbmp.GetBitmap(&bm); intnByte=bm.bmBitsPixel/......
  • 四月学习之LVS基本概述
    一、LVS基本概述1、什么是LVSLVS的英文全称是linuxvirtualserver,即linux虚拟服务器,其实它是一种cluster集群技术,主要用于负载均衡,将用户请求均匀的调度到不同的服务器上执行注意:LVS是基于四层IP:PROT的负载均衡2、为何需要LVS1、解决七层端口数不够问题,实现百万连接2、解......
  • vsomeip部署在Linux
    1.环境准备Ubuntu18.04.6LTSc++编译器编译用的cmake相关的库sudoapt-getinstalllibboost-system1.55-devlibboost-thread1.55-devlibboost-log1.55-devsudoapt-getinstallsource-highlightdoxygengraphvizsudoapt-get--no-install-recommendsinstallasciidoc2.源码......