尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
知识点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.
RELATED

相关推荐

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

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

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

📅 2026/10/31 10:48:03
PhotoView 搬上 Android TV:遥控器导航与焦点框改造

PhotoView 搬上 Android TV:遥控器导航与焦点框改造

PhotoView 搬上 Android TV:遥控器导航与焦点框改造 【免费下载链接】PhotoView Implementation of ImageView for Android that supports zooming, by various touch gestures. 项目地址: https://gitcode.com/gh_mirrors/ph/PhotoView 客厅里,你坐在沙发上,手里只有一…

📅 2026/10/31 10:43:03
博客目录~

博客目录~

/* 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 10:43:03
MORE NEWS

更多资讯

📰

汇编调试陷阱:CX寄存器高位残留导致LOOP异常

简介:本资源是北京交通大学《汇编与接口》课程配套的Debug调试实验教学材料,面向计算机专业本科生及汇编语言初学者,聚焦底层程序调试能力培养。实验以经典闰年判断程序leapYear.exe为载体,系统覆盖编译链接流程、Debug单步执行&a…

📰

快捷指令从入门到肌肉记忆:高频指令分层学习与训练路径

1. 从“记不住”到“肌肉记忆”:快捷指令这件事到底卡在哪 几乎每个用电脑超过三年的人,都经历过同一个尴尬瞬间:明明昨天才用过那个命令,今天坐在屏幕前,手指悬在键盘上,脑子里只剩一个模糊的影子——“好…

📰

API版本管理:核心挑战与工程实践指南

1. API版本管理的核心挑战与设计原则 在分布式系统架构中,API作为服务间通信的契约,其稳定性直接影响整个系统的可靠性。我经历过一次惨痛的线上事故:因为某个微服务API的响应字段调整未做好版本隔离,导致下游十几个服务同时报错。…

📰

黄仁勋CES 2026演讲:算力即服务与AI未来趋势

1. 黄仁勋CES 2026演讲核心观点解析 作为NVIDIA创始人兼CEO的黄仁勋,在CES 2026上的演讲再次成为科技界的焦点事件。这次演讲延续了他一贯的黑色皮衣风格,但内容却带来了更多突破性的技术展望。我全程跟踪了这场演讲,并整理了其中最值得关注的…

📰

Go语言interface{}原理与空值处理实战

1. Go语言interface{}的本质与空值陷阱 1.1 空接口的底层实现原理 Go语言的interface{}本质上由两个指针组成:一个指向类型信息的指针(_type),另一个指向实际数据的指针(data)。当我们将任何值赋值给inter…

📰

ET2026打版软件增强版功能解析与应用指南

1. ET2026打版软件增强插件版概述 ET2026打版软件是服装设计行业广泛使用的专业工具,其增强插件版在原版基础上进行了功能扩展和性能优化。这款软件主要面向高级版师群体,提供了更高效的打版、排料和样衣设计功能。 作为一款专业级服装设计软件&#xf…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬