Docker入门【二】基本概念

Docker 理论以及隔离 1. Docker ​ 容器是一个大的品类,就像操作系统一样,操作系统包括了 Windows 、linux、UNI、mac………… 起哄一个只是此操作系统的种类,Docker 也是容器中的一种,Docker 也算是容器中的 一个里程碑。 ​ 主流的容器: Docker、Podman、CoreOS 、lxc、buildah7 skopo ​ Docker 是一个开源的应用容器引擎,让开发者可... 阅读详情

      Docker 是 PaaS(Platform as a Service平台即服务) 提供商 dotCloud 开源的高级容器引擎,作为软件部署解决方案、可以将任何应用包装在Linux container容器中运行的工具。源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。它作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。主要有镜像(Image),容器(Container),仓库(Repository)三大重要概念。

【1】什么是docker

     Docker通过客户端client来执行命令到守护进程Daemon从而操作docker的容器,而容器是通过镜像创建的,镜像是存储在仓库中的registry。

-Client 客户端   通过客户端执行命令,传给服务的守护进程,然后命令执行的结果传递给client。
-Daemon 守护进程  linux中对docker的支持控制作用,一个守护进程可以为多个进程进行守护。
-Image镜像,层叠只读文件系统,容器的基础。构建打包状态引导文件bootfs,
   然后rootfs系统基础镜像系统也是只读状态,联合加载一次加载多个文件系统,叠加在一起。一个镜像可以放在另一个镜像里面。
-Container容器,通过镜像来进行启动,可以运行一个或者多个进程。是镜像执行基本单元。
   在最顶部镜像系统,加载一个可写层。写时复制。
-Registry仓库,用来保存用户构造的镜像,分为公有和私有。Docker Hub共有类似github用来存放镜像
DOCKER的基本组成

相关资料:

官网:https://www.docker.com

手册:https://docs.docker.com/get-started/

中文网:http://www.docker.org.cn/

菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html

【2】什么是容器Container

-为什么有容器
	虚拟机virtual machine,之前比如我们利用VMware或者是virtualbox自己创建一个linux虚拟机,
可以在里面肆意玩耍,在window下看起来我们好像真的有一个linux系统,虚拟出来的感觉和真实差不多,
但是会占用我们资源cpu,你可以想一想,你的电脑运行可以同时运行几个虚拟机,会不会卡到爆。
另外是启动的比较慢,就是类似你开机一样,打开虚拟机也需要一定时间,相当于再开启一个系统。
	那么既然这么笨拙,随着时代的发展,有一种新的技术Linux Containers容器也就是LXC。
所以说到容器也就是针对linux的。它可不是来模拟一个操作系统,
而且利用隔离特性,让不同容器进程互相感知不到,它接触的资源都是虚拟机,
从而实现更棒的虚拟化,LXC是进程级别的虚拟化。
    
-它是一种虚拟化方案
    -依托于Linux操作系统级别虚拟化
    -只能运行相同相似的内核操作系统
    -依赖于Linux内核:Namespace和Cgroups(Control Groups)
    -Namespace在代码中表现的-代码隔离。在操作系统中利用其系统资源的隔离,比如进程,网络,文件等。
-为了实现这种轻量级的虚拟化技术,隔离空间Namespace
	-docker让容器中的进程误以为是一个独立的空间。
	-Pid(Process ID) 进程隔离
    -Net(Network) 网络接口
    -Ipc(InterProcess Communication) 进程通信
    -Mnt(Mount) 挂载点
    -Uts(Unix TimeSharing System) 隔离内核版本标识
-另外需要隔离进程分配资源,Control Group控制组
     -资源限定 master控制
     -优先级设定
     -资源计量
     -资源控制 

【容器的能力】
	文件系统隔离:每个容器都是有自己root文件系统。
    进程隔离:每个容器都运行在自己的进程环境中。
    网络隔离:每个容器的虚拟网络接口和IP地址都是分开的。
    资源隔离和分组:使用cgroups将cpu和内存之类的资源独立分给每个docker容器。
【优点】
	启动快:容器里面的应用,直接就是底层系统的一个进程,类似你打开QQ
	资源少: 容器不必占用不需要的资源,依赖宿主机的操作系统,多个容器可以共享资源。
	体积小:容器文件比虚拟机文件要小很多,只要包含用到的组件即可。
    
【原理】
	Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。
	docker管理容器的引擎,基于Linux系统,可以开启多个容器,用了个障眼法,
    各个容器之间是相互隔离开来,进程,文件,网络等,但是实际上你在宿主机当中是可以看到他们的。
    但是他们共用一个内核系统。所以对于mac或者win都必须启动一个虚拟机来提供Linux的内核
      

【3】什么是镜像Image

镜像(Image)就是一堆只读层(read-only layer)的统一视角。作为容器的基石。
它具有层叠的只读文件系统和联合加载(union mount)的技术。
	
	统一文件系统Union FS(union file system)技术能够将不同的层整合成一个文件系统,
为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。
除了最下面的一层镜像,其他的层的镜像都会有一个指针指向下一层。
所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,
其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。
	镜像的存储位置:/var/lib/docker/
	
	为什么强调只读?
	对于docker的镜像和容器,特点就是,镜像作为基石,不能进行修改。
用户的操作层在镜像之上的容器,容器是一个可读可写的。
因此可以有这样一个结论:镜像+读写层=>容器 
	镜像使用的是分层存储,容器也是如此。每一个容器运行时,是以镜像为基础层,
在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为 容器存储层。
	
	镜像和容器的关系就像是面向对象程序设计中的 类 和 实例 一样,
镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
	
	容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。
因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。
容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。

【4】什么是仓库Registry

仓库就是集中存放镜像的地方,分为公共仓库和私有仓库。
 每个仓库可以包含多个 标签(Tag);每个标签对应一个镜像。
 通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。
我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。
如果不给出标签,将以 latest 作为默认标签。
 例如:Ubuntu:16.04那么前面Ubuntu就是镜像名,后面16.04就是tag标签,
如果不加标签,默认会用最新的ubuntu:latest
 仓库名经常以 两段式路径 形式出现,
比如 tacks/web,前者往往意味着 Docker Registry 多用户环境下的用户名,后者则往往是对应的软件名。

【5】client与daemon

【C/s模式】
命令行交互    
    Docker的守护进程运行在宿主机上服务端server,
通过Docker的客户端命令行接口向Docker服务器发送命令,经过处理后将结果返回给客户端。
Remote API交互
	docker客户端也可以由用户编写的程序来与守护进程通信
【通信】
    Docker使用socket进行客户端和服务端的连接。
    -c/s的连接方式
        unix sock通信 /var/run/docker.socker(默认通信方式)
        tcp host:port通信 
        fd sockefd通信
        
    Docker的客户端与服务端可以在同一宿主机,可以在不同主机上

命令行交互

Remote API交互

客户端与服务端通信

【小结】

                Docker 把应用程序及其依赖,打包在 image 文件里面,通过镜像才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。而镜像被存储在仓库Registry中,我们可以提交到自己私有的,也可以提交到公共仓库供大家使用。总是,如果你会用docker,那么构建你的服务将会很方便。

docker的基本概念 一、docker的基础介绍 1、docker发展历史 (1)Docker 是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在 Linux 操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。 Docker 利用 Linux 核心中的资源分离机制,例如 cgroups,以及 Linux 核心名字空间,来创建独立的容器。 (2)Docker 是一... 阅读详情

相关推荐

Ceph实战(二):用docker搭建Ceph集群之docker的基本概念以及操作

本文首先介绍了容器的基本概念,容器说白了就是隔离环境中的一个进程,容器内的任何操作都不会对宿主机产生影响。接着比较了容器虚拟机与KVM虚拟化的区别。两者最重要的区别是,容器虚拟化不需要硬件支持,不需要安装Hypervisor。而KVM虚拟化则需要。接着就是介绍了Docker的安装以及常用命令。.........

码农飞哥 5289

Docker基本概念

Docker镜像        操作系统分为内核和用户控件。对于Linux,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(image),就相当于一个root文件系统。        Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、源、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其...

小哲的博客 596

C#与Vector XL驱动库实战:CAN通道配置与端口访问详解

本文详细解析了使用C#调用Vector XL驱动库进行CAN总线通信开发的核心步骤。重点阐述了如何通过XL_GetDriverConfig获取硬件通道信息,并厘清channelMask与accessMask的区别与转换关系,最终指导开发者正确使用XL_OpenPort函数配置并打开CAN端口,为构建稳定的汽车电子测试与诊断应用奠定基础。

weixin_28452161的博客 362

docker基础用法

docker基础用法 说明: Docker使用C/S体系的架构,Docker客户端与Docker守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过unix套接字或网络接口进行通信。 下面是Docker核心组件及元素说明: Docker Daemon : dockerd,用来监听Docker API的请求和管理Docker对

weixin_60012466的博客 547

超详细!DeepSeek本地搭建部署、搭建知识库及智能体教程

通过以上详细的步骤,我们完成了DeepSeek的本地搭建部署、知识库的搭建以及智能体的创建。这一过程不仅让我们深入了解了大模型的应用,还为我们开发个性化的智能应用奠定了基础。在实际应用中,可以根据具体需求进一步优化模型、知识库和智能体的性能和功能。希望本文能帮助大家快速上手DeepSeek相关技术,开启属于自己的人工智能创新之旅。

Ljugg的博客 8184

python自动交易 缠论_缠论自动交易系统实现了

一、缘起:缠中说禅的伟大,我想你只要上网搜索一下就知道了,他的才气不用我说,我只想说说他的《教你炒股票》系列文章,108篇文章,将他的股票操盘秘籍全部公开给广大的股友了,更有缠友将其理论写成公式,在网上也是广为流传,深受广大缠友们的喜爱。我也是缠中说禅的忠实崇拜者之一,从2008年开始每天都使用缠论来看盘,特别想将缠论写成交易系统,让计算加来帮助我们自动交易,从而减轻我们盯盘的辛劳,可是苦于没有好...

weixin_39970689的博客 4637

docker 容器

一、docker介绍 docker使用go语言进行开发实现,基于内核的cgroup,namespace,以及AUFS类的UNIon FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于格力的进程独立与宿主和其他的隔离的进程,因此也成为容器。主要代码在github上进行维护。 docker 使用c/s 结构,docker服务端与客户端交互,docker服务端负责构建、运行、分发do...

yangxiaoyan12的博客 707

Abaqus中Cohesive单元建模:从本构到失效的完整指南

本文提供了Abaqus中Cohesive单元建模的完整指南,涵盖从本构模型到失效分析的全过程。详细解析了Cohesive单元作为模拟界面粘结与失效的关键工具,其核心在于弹性本构、损伤起始准则和损伤演化定律的设置。文章通过双悬臂梁(DCB)实例,手把手指导前处理、材料定义、求解设置及后处理分析,并分享了刚度、强度、断裂能等关键参数的影响与收敛性调优的实用避坑技巧,帮助用户准确模拟复合材料及胶接结构的界面失效行为。

cuda7parallel的博客 700

【docker简易笔记】docker基础信息的分享

docker 使用的频率越来越高,所以在后续的一些博客中会分享一些docker的安装和使用。 一、docker介绍 “Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 Gi...

213

基于live555实现一个rtsp客户端程序

本文介绍了基于live555流媒体库实现的RTSP客户端程序,能够通过RTSP地址获取H.264/H.265裸码流或TS流数据并存入本地文件。详细阐述了使用CLion搭建工程的代码架构和CMake配置,重点分析了TS流解析模块的实现,包括TS包结构解析、PES包提取和ES裸流获取的完整流程。文章提供了TS/PES/ES三种数据包的协议说明,并给出了从TS流中提取视频帧的具体方法,最后附有工程代码下载链接。该方案实现了RTSP流媒体接收、解析和存储的完整功能链。

kk821521286的博客 789

YOLOv11半监督学习深度解析:基于FixMatch改进的先进目标检测框架

本文探讨了半监督学习与YOLOv11结合的创新方法。针对目标检测中半监督学习面临的伪标签质量不稳定、特征一致性难保证等挑战,研究提出改进版FixMatch框架。通过分析YOLOv11架构特性(如多尺度特征提取、双标签分配策略等)与半监督学习的适配性,设计了三项关键技术改进:空间感知阈值策略、多任务解耦处理和记忆增强机制。该方法在少量标注数据下可实现接近全监督的性能,显著降低工业检测等场景的数据标注成本。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2083

Docker 从入门到实践(二)Docker 三个基本概念

一、Docker 的三个进本概念? 了解 Docker 的三个基本概念,就可以大致了解 Docker 的生命周期。 镜像(Image) 容器(Container) 仓库(Repository) 二、镜像 1.Docker 镜像   我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而 Docker 镜像...

weixin_30294709的博客 196

手把手打通全流程:在华为昇腾310/Atlas 200DK上实现深度学习模型从移植到部署

通过以上步骤,你已成功在华为昇腾310 Atlas 200DK上完成深度学习模型的移植与推理。这一流程可复用到目标检测、语义分割等其他任务,快去尝试将自己的AI模型部署到昇腾设备上,打造属于你的边缘智能应用吧!上部署深度学习模型,这篇教程将带你走完从模型转换到推理运行的完整流程。无需担心技术壁垒,我们以通俗易懂的方式拆解每一步,让你轻松在昇腾嵌入式设备上实现AI应用。是专为边缘AI设计的高性能处理器,Atlas 200DK是其开发板形态,能高效运行图像分类、目标检测等深度学习任务。

FJN110的博客 183

Docker入门二:基本概念、基本操作

dockr入门操作

巴山夜雨 446

eDP V1.4协议介绍

eDP的全称是Embedded DisplayPort嵌入式显示端口,主要应用与短距离系统内应用,例如手机、一体式台式机等。eDP V1.4b是基于DP V1.3标准制作完成,但因应用场景的不同,还是有很多区别。电压摆幅不同,eDP相对较低;eDP功耗相对较低;DP有线材和连接器的要求,eDP没有明确要求;AUX通道电路设计不同(相对DP取消了AC耦合电容和100KΩ/1MΩ的上下拉电阻):典型应用场景;

qflook的博客 4303

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[Docker] 2 Docker 基本概念

Docker 基本概念

qq_24907431的博客 1650

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Docker入门

本文根据大佬们的资料整理了Docker的基础知识,加深对linux运维基础服务工具的理解,以便个人查询复习使用。

2302_79253478的博客 1717

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Docker快速入门,看这个就够了

一、Docker介绍, 二、Docker的安装和使用, 三、启动Docker并查看状态,四、升级Docker,五、配置国内镜像源 六、Docker简单运用, 七、Docker组件之间工作 (与简单运用关联), 八、Docker常用命令, 九、Docker架构, 十、创建镜像, 十一、Dockerfile, 十二、将本地的镜像发布到阿里云, 十三、网络操作, 十四、仓库与数据管理, 十五、网络与集群管理

果子哥丶的博客 1万+

[docker入门]理清docker基本概念,说说docker该怎么用?

本文详细介绍了Docker的安装方法(以Ubuntu为例)、两种使用流程(从仓库拉取镜像或通过Dockerfile构建镜像)以及常用操作指令。最后通过Vue项目实例演示了Docker的实际应用。

m0_59314648的博客 1405

Docker入门及基本概念

- 同一个镜像可以创建多个容器 - 每个容器都是镜像的运行实例 有点类似与JavaSE 中的 类和对象,让我用面向对象的概念来进一步解释: 镜像(Image) => 类(Class) - 是一个模板 - 包含了所有必要的代码和依赖 - 是只读的 - 可以被多次使用来创建不同的容器 - 不能直接运行,需要实例化成容器 容器(Container) => 对象(Object) - 是镜像的运行实例 - 有自己的状态和数据 - 可以启动、停止、删除 - 多个容器可以基于同一个镜像创建 - 每个容器都是

web2u的博客 1166

Docker入门学习:基本概念、安装、命令、简单使用

Docker入门学习

雅俗共赏的博客 3641

Docker 入门到实战教程(二)安装Docker

一.卸载旧版本较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。$ sud...

李浩东的博客 7389

Docker从入门到实践

Docker 是个伟大的项目,它彻底释放了虚拟化的威力,极大降低了云计算资源供应的成本,同时让应用的分发、测试、部署和分发都变得前所未有的高效和轻松!本书既适用于具备基础 Linux 知识的 Docker 初学者,也希望可供理解原理和实现的高级用户参考。同时,书中给出的实践案例,可供在进行实际部署时借鉴。前六章为基础内容,供用户理解 Docker 的基本概念和操作;7 ~ 9 章介绍一些高级操作;第 10 章给出典型的应用场景和实践案例;11 ~ 13 章介绍关于 Docker 实现的相关技术。14 ~ 1

yanpenggong的博客 2578
上一篇: Docker入门【一】windows安装Docker ToolBox
下一篇: Docker入门【三】镜像基本使用
Tacks
博客等级 码龄9年 37粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值