【Docker学习总结】12.Docker的CS模式

斯坦福CS229机器学习笔记:如何高效自学吴恩达经典课程(附资源下载) 本文提供斯坦福CS229机器学习课程的高效自学指南,涵盖从零基础到系统掌握的完整路径。详细解析课程资源使用策略、科学学习路径设计及理论到实践的转化技巧,帮助自学者克服常见困境。特别推荐吴恩达教授的经典课程视频与讲义,结合社区资源如GitHub代码实现,构建全面的机器学习知识体系。 阅读详情

一、Docker的C/S模式介绍

下图为Docker官方提供的Docker的CS运行模式的介绍:

                                         

在Docker Client中来运行Docker的各种命令,而这些命令会传送给在Docker的宿主机上运行的Docker的守护进程。而Docker的守护进程是负责来实现Docker的各种功能。
下面的图是去掉了一些没有用的信息,专注于Docker的客户端与守护进程的描述:

       

如图所示,Docker的守护进程运行在宿主机上,也就是我们常说的“C/S架构”的Server(服务)端,守护进程会在启动后,一直在后台运行,负责实现Docker的各种功能。而Docker的使用者并不会直接与守护进程进行交互,而是要通过Docker的客户端,也就是我们在前面演示过的Docker的命令行接口,来与Docker守护进程进行通信。而这个命令行接口,也就是我们在Shell中执行Docker命令时运行的二进制程序,它是Docker最主要的用户接口,用来从用户处接收Docker的命令,并且传递给守护进程;而守护进程将命令执行的结果返回给客户端,返显示在命令行接口中。
 

二、Remote API

除了上面提到的客户端的命令行接口,Docker也提供了另外的与守护进程进行通信的方式。这就是Remote API。
Remote API和我们常见的网络平台提供的API非常相似,它也是一个RESTful风格的API。我们可以通过Remote API与Docker的守护进程进行通信。也就是说,我们可以通过编写程序,调用这个API,来将我们自己的程序与Docker进行集成。
 

Docker的Remote在某些复杂的情况下,也支持以下方式进行交互:
STDIN、STDOUT、STDERR
备注:标准输入(STDIN)、标准输出(STDOUT)、标准错误输出(STDERR)

下面这幅图我们可以看到,通过Remote API的形式,来实现Docker的C/S架构的模式:

用户可以与自定义的程序(JAVA、C++等)进行交互,而这些程序通过调用Remote API与Docker的守护进行进行协作。

三、Docker客户端与守护进程的通信方式

Docker的客户端与守护进程,实际上是通过Socket进行连接的。
Docker提供了三种进行Socket连接的模式:
(1)Unix的端口模式
unix:///var/run/docker.sock
(2)TCP协议的host:port模式:
tcp://host:port
(3)fd的Socket模式
fd://socketfd
其中,Unix的端口模式是Docker默认的客户端与守护进程的连接方式。我们也可以通过配置进行修改,来使用其它的Socket连接方式。


下图就是一个完整的Docker的C/S模式的运行方式:

四、连接演示

刚才我们了解到,Docker的守护进程,在启动后,会一直运行,那么我们就可以使用Linux的PS命令,来查看当前进程中是否已经启动了Docker的服务:

我们使用“grep”来过滤Docker关键字。我们看到的第一条就是正在运行的Docker的守护进程。
我们在命令行中使用的Docker命令,实际上就是使用的Docker的客户端程序在与守护进程进行交互。

 

我们运行version命令:

其中的“server API version”指的就是我们刚刚讲的Remote API的版本。

下面我们再来演示Docker的Remote API是什么样子。这里我们需要使用Linux的netcat(nc)的命令,来实现socket的连接:

注意:没有nc命令,使用“yum install -y nc”即可安装。
上面我们使用“-U”来指明使用的是socket,Docker使用的socket地址为“/var/run/docker.sock”。回车后,就已经成功连接了socket:

此时我们使用socket来发起一个http的指令,用来查看Remote API中的一个接口---info,这个接口用来返回Docker的相关信息。后面的“HTTP/1.1”为指定的协议类型。我们看到返回的结果就是通过Docker的Remote API所返回的结果,这个结果使用了json的格式。(这里我始终得不到JSON反馈)
 

从CAD到完美网格:HyperMesh几何清理全流程指南(2023最新版) 本文详细介绍了2023最新版HyperMesh在几何清理和网格划分方面的全流程操作指南。从CAD导入、几何修复到中面提取和网格生成,系统性地分享了实战验证的解决方案,帮助工程师高效处理复杂几何体,提升有限元模型质量。特别针对汽车和航空航天领域的常见问题,提供了智能化工具和优化技巧。 阅读详情

相关推荐

ArchLinux下用Wine运行钉钉全攻略:从字体配置到中文输入法避坑

本文详细介绍了在ArchLinux系统上使用Wine运行钉钉的完整配置流程。从最新的WoW64架构环境准备、中文字体配置与DPI优化,到钉钉安装、关键系统库替换,再到解决中文输入法失效等核心难题,提供了实战避坑指南。旨在帮助Linux用户在企业办公场景下,获得接近原生的稳定使用体验。

alice7model的博客 589

容器docker详细使用(一篇就够了)

Docker镜像 就相当于是一个root文件系统比如官方ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。(Container) : 镜像 (image) 和容器(Container) 的关系,就像是面向对象程序设计中的对象一样,镜像是静态的定义,容器。Docker可以运行到MAC,windows, CentOS, UBUNTU等操作系统上,本课基于CentOS 7安装Docker。到一个轻量级,可移植的容器中,然后腹部到任何流行的liunx机器上。

全栈技术分享,项目分享,资料分享 3461

Python自动化生成HyperMesh Tcl命令流:从几何建模到有限元分析

本文详细介绍了如何利用Python自动化生成HyperMesh的Tcl命令流,实现从几何建模到有限元分析的全流程二次开发。通过封装常用操作函数,工程师可以高效完成参数化建模、自动网格划分及求解器文件输出,显著提升CAE前处理效率与标准化水平。

weixin_29041767的博客 424

深入理解Docker的C/S架构

上一篇中我们俯瞰了Docker的整体架构,本文我们更进一步,深入地剖析Docker的C/S架构,主要研究一下Docker的客户端和服务端,已经它们之间通信的三种socket连接方式。

postnull的博客 2008

告别误唤醒!S32K3xx低功耗设计避坑指南:Fast Standby模式与WISR寄存器操作详解

本文深入解析了NXP S32K3xx系列MCU在低功耗设计中常见的误唤醒问题,并提供了基于Fast Standby模式的解决方案。文章重点剖析了DCMRWF5寄存器的配置方法、WISR/WISR_64唤醒中断状态寄存器的标志位处理策略,以及如何利用32KB Standby SRAM保存唤醒状态,从而帮助开发者构建稳定可靠的汽车电子低功耗系统。

weixin_29163857的博客 364

163种中草药图像数据集构建与ResNet-50迁移学习实战指南

在计算机视觉领域,高质量标注数据集是模型训练的基石,直接影响图像分类、目标检测等任务的性能。其核心原理在于为算法提供结构化的监督信号,通过深度学习模型学习从像素到语义的映射关系。构建此类数据集的技术价值在于解决了特定垂直领域(如中医药)数据稀缺的痛点,为AI技术落地提供了关键“燃料”。在应用场景上,标准化数据集广泛支撑着教学演示、算法验证和产业应用开发。本文聚焦于中草药识别这一细分领域,详细介绍了一个包含163种常见药材、经过多源聚合与清洗的图像数据集构建全过程,并提供了基于PyTorch和ResNet-5

weixin_33672400的博客 457

初识Docker(架构、安装Docker)

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题。

· 1697

VMware VSAN 高级参数介绍(测试用)

VSAN 的策略驱动让我们看到了VSAN无穷的潜力,其设计思路相当新颖,在一个基础资源池上使用策略就能实现不同对象的区分服务,而目前没有其他厂家能到VMware这样的高度。 VSAN 呈现给用户配置很简单,但实际上设计及后台比较复杂。笔者无意间发现了VSAN的隐藏高级参数设置,有很多好玩的选项想分享出来。这些参数全部是针对每主机进行设置的。VSAN 中有很多默认设置,这些设置应该都是研发人员多次测试得出的最优值,修改可能导致环境异常,并不建议修改! 目录 参数1:全闪配置下 SSD 写缓存最大.

山水牧羊 2032

Docker基础篇——初识

前提概念了解 云计算 云计算是分布式计算的一种,是通过网络云将巨大的数据计算处理分解成无数小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。 云计算把许多计算资源集合起来,通过软件实现自动化管理,之需要很少的人参与,就能让资源被很快利用。将计算能力作为一种商品,一种资源,可以在互联网上流通,让每一个使用互联网的人都可以使用网络上的庞大计算资源和数据中心。 云计...

mashaokang1314的博客 324

使用Qt在FreeRTOS上构建MCU应用程序

如果我们想要在FreeRTOS上运行该应用程序,我们需要选择适用于我们处理器架构的交叉编译工具链,并将目标设备设置为我们的开发板。在该代码中,我们使用xTaskCreate()函数创建了一个名为“qt_task”的任务,并将其启动。首先,我们需要安装Qt for MCU开发环境。Qt for MCU是基于Qt 5开发的针对MCU的特殊版本,它可以生成最小体积的代码,从而适用于资源有限的嵌入式系统。如果我们想要在FreeRTOS上运行这个程序,我们需要将其包装在一个任务中,并在任务创建后启动Qt的事件循环。

ByteWhizX的博客 1815

HTML音乐爱心3D旋转相册完整源码

HTML音乐爱心3D旋转相册完整源码

LilyCoder的博客 1380

Docker的概念、架构、安装详解

一键了解docker基础知识,并具备安装安装和启动docker的能力

qq_44749491的博客 2639

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Docker学习(8) Docker的CS模式

Docker的CS模式 链接方式 socket 转载于:https://www.cnblogs.com/xiao-xue-di/p/11442402.html

weixin_30907523的博客 225

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

docker的CS模式

docker 的cs模式 如图所示用户访问docker的流程1,用户并不是直接和docker的守护进程交互,而是通过Docker client和docker的守护进程交互。 当然啦docker也提供别的方式和docker守护进程进行交互,比如使用remote api,用户可以通过调用restful风格的借口对docker进行操作,如果我们可以看到在docker的官方文档提供了很多供我们使用...

qq_24834449的博客 459

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

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

【Docker学习总结】11.Docker的CS模式

前几篇总结了Docker有关容器以及镜像方面的相关知识,从本篇开始我们就升华到了宏观方向的学习,这次我们来了解一下Docker的CS模式。 在前面的学习中我们了解到,Docker是以客户端和守护进程的方式来运行,本篇我们就来详细了解Docker的CS模式是如何运行的。 一、Docker的C/S模式介绍 下图为Docker官方提供的Docker的CS运行模式的介绍: 在Docker Clien...

程序猿之洞 1819

【Docker学习总结】12.Docker守护进程的配置和操作

上一篇总结了Docker的CS模式的具体概念,本篇来学习Docker守护进程的配置和操作。 在上一篇的演示中,我们使用了Linux的ps命令查看了Docker守护进程的运行状态。那么,除了ps命令,我们也可以使用Docker提供的“service docker status  ”命令来查看Docker守护进程的运行状态: 通过Active状态为“active(running)”可以看出,Dock...

程序猿之洞 1万+

终极CS2模组服务器搭建指南:一键开启30种游戏模式 [特殊字符]

还在为搭建CS2服务器而烦恼吗?现在你可以轻松拥有一个功能强大的模组服务器,支持**30多种游戏模式**!从经典的竞技模式到刺激的战争模式,从休闲的死亡竞赛到极限的跳跃玩法,这个开源项目让你的CS2服务器焕然一新! ## 什么是CS2模组服务器? **CS2模组服务器**是一个基于Counter-Strike 2的专用服务器解决方案,集成了Metamod:Source和CounterStrik

gitblog_00916的博客 882

Docker系列(八)Docker的CS模式、守护进程的配置和操作

文章目录Remote API连接方式实例演示守护进程的配置和操作   Docker是以客户端、守护进程的方式来运行的,那Docker是如何以C/S模式运行的呢?   在docker客户端(docker client)中运行docker的各种命令,而这些命令会传递给docker的宿主机上运行docker的守护进程。而docker的守护进程负责实现docker的各种功能。   上图去掉一些没有用的信息专注docker的客户端与守护进程描述。如图所示,docker的守护进程运行在宿主机上,也就是cs架构的se

小小何先生的学习之旅 674

Docker学习

滚动查看容器的日志(follow):sudo docker logs 容器名/容器ID。进入控制台与容器交互): sudo docker run -it --rm nginx。给容器命名:sudo docker run -d --name 容器名 nginx。查看容器的日志:sudo docker logs 容器名/容器ID。查看所有的(包括停止的)容器:sudo docker ps。删除正在运行的容器:udo docker rm -f 容器名。重要概念:镜像是制作容器(环境)的工具,容器就是环境。

m0_53560331的博客 1726

五、Docker客户端和守护进程

docker守护进程

q908544703的博客 2001

【Docker学习总结】13.Docker的远程访问

前面两篇总结,我们分别介绍了Docker的CS模式,以及Docker守护进程的操作和配置。本篇我们将运用前两次学习的知识,来学习如何配置Docker客户端与守护进程的远程访问。 在之前的讲解中,我们使用的Docker客户端和守护进程都是在同一台机器上。本篇我们就来学习如何将Docker的客户端与守护进程配置在不同的机器上,也就是Docker的客户端与守护进程的远程访问。 一、准备工作 在开始...

程序猿之洞 2376

37、Docker(docker架构:cs架构)

Docker(docker架构:cs架构) C:client客户端:向docker发送命令,或者远程调用 S:server服务端:处理docker命令,管理镜像,容器等 镜像:就是docker将那些应用程序及其所需要的依赖,函数库,环境,配置打包在一起(只能可读(防止数据污染)) 容器:需要写数据的时候就从镜像中拷贝一份到容器中再来写

分享JAVA/ Python/ Ts学习路上的一些笔记,不足之处多多见谅。 1027

docker学习(七)docker daemon

远程访问的时候,需要保证两台服务器的API版本一致,通过“docker version”版本信息查看指令。默认情况下,Docker的守护进程使用的是“unix”模式来实现与客户端的通信。这里需要用“tcp”模式来进行网络交互。有两种方式配置:首先,在 docker daemon 配置文件 /lib/systemd/system/docker.service 中的“ExecStart”选项后,添加“tcp”协议的配置。Ps:目前笔者使用的 Docker 20.10.0-ce版本。

cliffordl的专栏 5839

Docker 学习:术语、使用、Compose、Swarm

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

freeking101的博客 6169

CS2Fixes 项目推荐

CS2Fixes 项目推荐 项目基础介绍和主要编程语言 CS2Fixes 是一个基于 Metamod 的开源插件项目,主要用于《反恐精英2》(CS2)游戏。该项目旨在为游戏提供修复和增强功能,特别针对僵尸逃脱模式。CS2Fixes 主要使用 C++ 和 Python 进行开发,其中 C++ 是实现核心功能的主要编程语言,而 Python 则用于配置和构建脚本。 项目核心功能 CS2Fixes 的核...

gitblog_00873的博客 395

Docker的学习总结

此为大三下学习Docker的总结。主要包括Docker的安装部署;Docker相关知识;Docker的相关操作。

qq_53574266的博客 909
上一篇: 【Docker学习总结】11.Docker-Dockerfile详解
下一篇: 【Docker学习总结】13.Docker守护进程的配置和操作
Rita楠神
博客等级 码龄9年 27粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值