知识点3---软件虚拟化管理软件Docker

发布时间:2026/10/31 10:49:04

知识点3---软件虚拟化管理软件Docker 知识点2给大家介绍了硬件辅助虚拟化的KVM但实际使用率来讲它没有Docker高原因是显而易见的KVM它不能超卖而国内的云计算收益主要依赖超卖因此这个时候软件虚拟化就显得更经济docker的控制核心是容器但它本身是容器运行时工具的一种。Docker是早期发展项目2013年现已成为最广泛使用的容器引擎技术。随着容器生态繁荣出现了containerd、rkt、Kata Container、CRI-O等多种运行时工具。不同工具功能各异有些仅运行容器有些还提供镜像管理功能根据提供的功能不同分为低层运行时和高层运行时两类运行时需配合工作不是独立运行的。低层运行时工具负责与宿主机操作系统直接交互根据指定镜像运行容器进程并管理容器的整个生命周期比如负责执行设置容器Namespace、Cgroups等基础操作。高层运行时负责镜像的下载、转换等准备工作专注于镜像格式、解包和管理为开发者提供管理API在早期对于服务器虚拟化的使用有过一个流派基于Windows server系统VMware组成服务器集群但是后期由于这样的使用方式维护成本相当高比如服务器的序列、服务器台账以及服务器与服务器之间的切换等等诸如此类的问题往往需要人工去主导所以这种流派渐渐的泯灭消失在商用环境中了如今只会在一些学习教培环境下见到这样的环境大多数商用环境中所使用的虚拟化技术通常就是linuxdockerk8s至于k8s较新版本弃用docker这个事情后面知识点会提及总之好处是docker将虚拟化的使用变得更简洁更轻量化大大的简化了运维成本而k8s是后面我们要介绍的一个东西它其实是一个容器或者虚拟化的脚手架这个脚手架的作用就是用来解决服务器的序列、服务器故障切换等等的运维问题它的运行的核心是基于逻辑单元pod你可以把pod看成我们开发好的一个服务包一个pod里面包含着各种对应的资源最核心的当然就是容器或者虚拟机言归正传Docker它的本质是将某个服务做成镜像用的时候实例化一个容器环境有点开箱即用的味道。最直观的好处就是当我们开发一个东西后拿到它的人不在需要一点一点的复刻运行环境只需要拿到我们提供的Docker镜像就可以直接运行。另一点好处启动快我们在开发中常常用到VMware但虚拟机实例启动一次往往是分钟级的而Docker运行的虚拟容器的重启是秒级的虚拟容器它本质上是一个被隔离的进程其中运行了Docker镜像的实例对象Docker的核心三大要素分为镜像、容器、仓库其中镜像就和我们安装系统的ISO一个意思是实例化容器时的模板。容器是镜像的实例。仓库是存放镜像的地方。从架构组成上来讲docker由runc底层运行时、containerd高层运行时、dockerd守护进程三部分组成分别负责容器生命周期、镜像管理、客户端接口及API安装docker需要使用CentOS 7 操作系统与RHEL7相同也可在国产化系统如麒麟、欧拉上使用。有两个版本系列。Docker-ce叫社区版免费版本适合个人开发者测试使用。Docker-ee企业版收费版本提供1个月免费试用2020年曾因国际政治原因限制中国企业使用。本博客教程使用26.1.4这是写博客时的最新版但实际工作中按需使用20.10.x等特定版本第一步清空旧Docker依赖如果之前安装过yum remove-ydocker* docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine第二步安装Docker先安装所需要的依赖yuminstall-yyum-utils device-mapper-persistent-data lvm2添加Docker的yum下载源这里用阿里的。如果阿里镜像保存403一般是因为你所在的网络访问太多被屏蔽了换一个网就好了wget-O/etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#如果阿里镜像报错403就用华为的wget-O/etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.reposudosed-isdownload.docker.commirrors.huaweicloud.com/docker-ce/etc/yum.repos.d/docker-ce.repo更新yum缓存yum makecache fast安装默认是最新版如果你需要指定版本则运行如yum -y install docker-ce-版本号 docker-ce-cli-版本号yuminstall-ydocker-ce安装进程接收运行下面的命令如果正常输出则安装成功docker-v第三步Docker的启动和关闭启动dockersystemctl startdocker查看状态systemctl statusdocker停掉服务systemctl stopdocker希望加入开机启动项则运行systemctlenabledocker第四步默认时Docker的拉取的是官方的Docker Hub镜像仓库可是坏就坏在那是个国外网站慢的出奇所以要换成国内的。换的时候有个注意点24年7月以后路人用户不能用阿里docker镜像加速服务器了。注意只是不让路人用户用阿里镜像加速器了公共镜像资源 registry.cn-hangzhou.aliyuncs.com 开头的镜像还可以正常用如果你用的是阿里云下的产品比如云服务器实例配置的时候首先访问阿里云https://promotion.aliyun.com/ntms/act/kubernetes.html阿里云的登录可以使用你的淘宝账号登录不是非要注册无论你用什么必须要登录一个账号。随后访问阿里的容器Hub控制台https://cr.console.aliyun.com/cn-hangzhou/instances。其实你百度阿里云首页搜索docker镜像加速器也能找到入口在下面有四类操作系统的操作文档选择CentOS的并按照文档操作[roothdp3 ~]# mkdir -p /etc/docker [roothdp3 ~]# tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://你账号的专属串码.mirror.aliyuncs.com] } EOF [roothdp3 ~]# systemctl daemon-reload [roothdp3 ~]# systemctl restart docker如果你不是阿里云用户你就老老实实的跟着下面的步骤用公网上能免费用的加速镜像服务器就行第五步修改本地镜像存放路径就是本地仓库的地址用来保存下载的镜像因为默认的路径比较小你需要自己准备一个容量充足的路径地址vi/etc/docker/daemon.json{registry-mirrors:[https://docker.1ms.run],data-root:/opt/docker,dns:[8.8.8.8,114.114.114.114],max-concurrent-downloads:10,max-concurrent-uploads:5}第六步检查运行如下命令systemctl daemon-reload systemctl restartdockerdockerinfo在docker info的输出中你要注意看Docker Root Dir和Registry Mirrors是不是你设置好的。使用后期当你修改本地仓库路径时对于已经有过使用的容器你需要手动把源本地仓库下的所有内容cp到新的路径下docker公网仓库中有一个为新手准备好的hello world镜像你只需要执行run命令即可自动拉取并启动dockerrun hello-world这里额外说一个问题如果你部署docker的服务器有防火墙比如本篇复用了知识点2安装kvm的宿主机由于防火墙需要开启所以要注意防火墙的影响不过前面配置了网卡伪装和linux路由转发正常是不影响docker的。还有绝对不要看网上其他资料轻易的对docker和防火墙zone策略配置做更改会导致极其恶心的报错言归正传run是Docker的容器运行命令它的作用就相当于Java的new关键字一样镜像视为类实例化出一个容器对象。我们可以通过日志看一下它干了什么[rootnode1 docker]# docker run hello-worldUnable tofindimagehello-world:latestlocally latest: Pulling from library/hello-world 78445dd45222: Pull complete Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7 Status: Downloaded newer imageforhello-world:latest Hello from Docker!This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled thehello-worldimage from the Docker Hub.3. The Docker daemon created a new container from that imagewhichruns the executable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client,whichsent it to your terminal. To try somethingmoreambitious, you can run an Ubuntu container with: $dockerrun-itubuntubashShare images, automate workflows, andmorewith afreeDocker ID: https://cloud.docker.com/ Formoreexamples and ideas, visit: https://docs.docker.com/engine/userguide/在输出的日志中Unable to find image hello-world:latest locally是告诉你docker现在本地仓库里没有找到hello-world这个镜像且默认为最新版本。后面的Pull是告诉你在远程镜像库里面找到了该镜像并开始下载Digest和Status的输出告诉你下载结束并开始运行容器后面的输出都是这个镜像启动时的输出日志由镜像内部决定如果你输入了一个哪里都找不到的镜像则返回失败。[roothdp3 ~]# docker run hello-worlddhuehdUnable tofindimagehello-worlddhuehd:latestlocally docker: Error response from daemon: pull access deniedforhello-worlddhuehd, repository does not exist or may requiredocker login:denied: requested access to the resource is denied. Seedocker run --help.
延伸阅读

更多相关文章

2026/10/31 10:49:04

AI工艺自动调整项目实现第2讲:完成项目1

一、CodeX AI编程新王Codex详细攻略,一期视频精通,附免费使用方法_哔哩哔哩_bilibili (2026年2月最新版)Codex & Codex CLI 国内使用教程: 支付注册、安装配置、常见命令,手把手教学! | 小林coding | Java面试学习 自己的电脑安装在D盘:D:\Nodejs\node_global 配…

2026/10/31 10:49:04

Sunshine 游戏串流快速上手:5 步从装好到第一次串流跑通

Sunshine 游戏串流快速上手:5 步从装好到第一次串流跑通 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine 游戏串流主机装在你自己的 PC 上:采集本机…

2026/10/31 10:44:04

搭建蜂鸟E203FLASH启动的仿真环境,运行Hello World例程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/31 15:14:25

高德地图API实现高效批量地理编码技术方案

1. 项目背景与核心价值地理编码技术在现代信息化应用中扮演着越来越重要的角色。我最近接手了一个物流调度系统的改造项目,需要将客户提供的2000多条文本地址批量转换为经纬度坐标。这个看似简单的需求,在实际操作中却遇到了地址格式不规范、API调用限制…

2026/10/31 15:14:25

Oracle学生考勤系统课设:12张表与3个数据库对象落地避坑

简介:这份Oracle数据库课程设计文档面向学习数据库管理与开发的学生及IT从业者,以“学生考勤系统”为案例,串联需求分析、角色权限、请假与考勤记录、E-R模型及表结构设计等环节,可用于课程作业参考、项目实训或答辩准备。压缩包内…

2026/10/31 15:14:25

隐私政策网站开发:技术选型与合规实践指南

1. 项目概述:隐私政策网站的必要性与价值 在数字时代,隐私政策网站已成为任何在线业务的法定标配。这类网站的核心功能是清晰展示企业如何收集、使用和保护用户数据,既是法律合规的刚需,也是建立用户信任的关键渠道。不同于普通企…

2026/10/31 15:14:25

CPU升级兼容性三重验证:物理、电气、固件全解析

1. 为什么换CPU比换显卡难十倍:从“插上去就能用”到“查三天主板手册”的真实落差很多人第一次想升级电脑,直觉就是“换个更好的CPU”,毕竟CPU是大脑,性能提升最直接。结果拆开机箱,把新买的CPU往插槽里一放——咔哒一…

2026/10/31 15:14:25

高德API批量地理编码实战:地址转坐标技术解析

1. 地址转坐标:高德API批量地理编码实战指南 作为一名长期处理地理数据的开发者,我经常遇到将海量地址文本转换为经纬度坐标的需求。比如最近在做一个社区配送路径优化项目时,就遇到了3000多条客户地址需要批量转换的情况。高德地图的地理编码…

2026/10/31 15:09:24

金融科技中的MS25算法预批工具:应用与策略分析

1. 项目背景与核心问题MS25算法预批工具是金融科技领域近年来兴起的一种智能信贷决策系统。这类工具通过大数据分析和机器学习算法,能够在客户正式申请贷款前,预先评估其信用状况并给出潜在的授信额度和利率范围。这种"预审批"机制正在重塑传统…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑