Linux安装Docker教程(详解)

如果想要系统学习docker,建议进入官方文档中学习:docker官方文档

一. 基本概念

  • Docker Desktop 和 Docker Engine 有什么区别?

Docker Desktop for Linux 提供用户友好的图形界面,可简化容器和服务的管理。它包括 Docker Engine,因为这是为 Docker 容器提供支持的核心技术。适用于 Linux 的 Docker Desktop 还附带了 Docker Scout 和 Docker Extensions 等附加功能。

二. 删除旧版本(可选)

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce

三. 开始安装

  1. 安装所需的软件包 yum-utils,device-mapper-persistent-data和lvm2
yum install -y yum-utils device-mapper-persistent-data lvm2

yum-utils:
yum-utils 是一组为 YUM(Yellowdog Updater Modified)包管理器提供额外功能的工具。它包括了多个实用程序,如 yum-config-manager,这个工具可以用来方便地添加和管理 YUM 软件源。需要使用 yum-config-manager 来设置 Docker 的官方仓库。
device-mapper-persistent-data:
这个软件包提供了支持设备映射器(device mapper)驱动的工具,特别是用于持久化数据的逻辑卷管理。Docker 使用 device mapper 作为存储驱动之一,用于管理容器的文件系统层。device-mapper-persistent-data 包含了必要的工具来处理这些底层的文件系统操作,确保容器的数据能够被正确且高效地管理。
lvm2:
LVM (Logical Volume Manager) 是 Linux 下的一种磁盘分区管理技术,允许创建、调整大小和管理磁盘分区,即逻辑卷。LVM 提供了灵活性,例如可以在不丢失数据的情况下调整分区大小。lvm2 包含了管理和配置 LVM 所需的命令行工具。Docker 可以利用 LVM 和 device mapper 驱动来更有效地管理容器的存储空间,特别是在需要频繁创建和删除容器的环境中。

报错请点击这里查看
2. 更换docker镜像仓库 (三个任选其一)

# 官方源 (慢 不推荐)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 阿里云 (推荐)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 清华大学源 (推荐)
sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
  1. 安装docker
# 安装docker,docker-cli
sudo yum -y install docker-ce docker-ce-cli containerd.io 
  1. 配置docker加速 (现在配置阿里云容器镜像加速需要是阿里云设备,我是本地虚拟机,所以此处不使用阿里的镜像加速了)
vi /etc/docker/daemon.json
# 直接复制进去并保存 (2025.1.15最新可用源){"registry-mirrors": ["https://docker.hpcloud.cloud","https://docker.m.daocloud.io","https://docker.unsee.tech","https://docker.1panel.live","http://mirrors.ustc.edu.cn","https://docker.chenby.cn","http://mirror.azure.cn","https://dockerpull.org","https://dockerhub.icu","https://hub.rat.dev","https://proxy.1panel.live","https://docker.1panel.top","https://docker.m.daocloud.io","https://docker.1ms.run","https://docker.ketches.cn"]
}
# 启动/重启docker
sudo systemctl daemon-reload  
#如果还没启动
sudo systemctl start docker
#如果已经启动
sudo systemctl restart docker# 验证镜像加速是否修改 查看Registry Mirrors部分
sudo docker info

四. 启动和验证

# 启动docker 上一步启动过了就不用再重复执行
sudo systemctl start docker
# docker开机自启
systemctl enable docker
# 拉取测试镜像 验证
sudo docker pull hello-world
// 执行hello-world
sudo docker run hello-world

五. 问题总结

yum安装软件包时报错

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=vag error was
14: curl#6 - “Could not resolve host: mirrorlist.centos.org; Unknown error”
One of the configured repositories failed (Unknown),
and yum doesn’t have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work “fix” this:
1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
3. Run the command with the repository temporarily disabled
yum --disablerepo= …
4. Disable the repository permanently, so yum won’t use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use --enablerepo for temporary usage:
yum-config-manager --disable
or
subscription-manager repos --disable=
5. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager --save --setopt=.skip_if_unavailable=true
Cannot find a valid baseurl for repo: base/7/x86_64

错误原因:

centos7已停止运营,已被归档,需要更换yum源

解决方案:更换为阿里源或其他国内源

cd /etc/yum.repos.d
# 备份原有的源
cp CentOS-Base.repo CentOS-Base.repo.back
#下载国内源的 YUM 配置文件 (本文采用阿里源,需要其他可自行百度)
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 如果没有wget 可以使用curl命令
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清理 YUM 缓存
sudo yum clean all
sudo yum makecache
# 验证新源是否可用 会看到都是阿里的源
sudo yum repolist

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2886.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter如何进行多服务器远程测试

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 JMeter是Apache软件基金会的开源项目,主要来做功能和性能测试,用Java编写。 我们一般都会用JMeter在本地进行测试,但是受到单…

摄像头模块在狩猎相机中的应用

摄像头模块是狩猎相机的核心组件,在狩猎相机中发挥着关键作用,以下是其主要应用: 图像与视频拍摄 高清成像:高像素的摄像头模块可确保狩猎相机拍摄出清晰的图像和视频,能够捕捉到动物的毛发纹理、行为细节及周围环境的…

[操作系统] 深入理解操作系统的概念及定位

概念 任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。 其核心功能如图片所示,包括: 内核 (Kernel): 内核是操作系统的核心部分,被认为是狭义上的操作系统,直接与硬件打交道。负责进程管理、内…

Jmeter 简单使用、生成测试报告(一)

一、下载Jmter 去官网下载,我下载的是apache-jmeter-5.6.3.zip,解压后就能用。 二、安装java环境 JMeter是基于Java开发的,运行JMeter需要Java环境。 1.下载JDK、安装Jdk 2.配置java环境变量 3.验证安装是否成功(java -versio…

postgresql分区表相关问题处理

1.使用pg_cron按日创建分区表,会出现所在数据库对应用户权限不足的问题。 原因是pg_cron运行在postgres数据库中,是用superuser进行执行的,对应的分区表的owner为postgres,所以需要单独授权对表的所有操作权限。不知道直接改变ow…

Agent一键安装,快速上手Zabbix监控!

目录 一、Linux操作系统部署Agent环境配置1、防火墙配置2、永久关闭selinux yum方式安装1、配置zabbix仓库2、安装agent3、配置 Zabbix-Agent 指向 Zabbix-Server4、启动agent服务 二进制包安装1、下载二进制包2、创建用户和目录及更改属主(组)3、解压二…

内存与缓存:保姆级图文详解

文章目录 前言1、计算机存储设备1.1、硬盘、内存、缓存1.2、金字塔结构1.3、数据流通过程 2、数据结构内存效率3、数据结构缓存效率 前言 亲爱的家人们,创作很不容易,若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的…

【大数据】机器学习-----模型的评估方法

一、评估方法 留出法(Holdout Method): 将数据集划分为训练集和测试集两部分,通常按照一定比例(如 70% 训练集,30% 测试集)。训练集用于训练模型,测试集用于评估模型性能。优点&…

人工智能-机器学习之多分类分析(项目实战二-鸢尾花的多分类分析)

Softmax回归听名字,依然好像是做回归任务的算法,但其实它是去做多分类任务的算法。 篮球比赛胜负是二分类,足球比赛胜平负就是多分类 识别手写数字0和1是二分类,识别手写数字0-9就是多分类 Softmax回归算法是一种用于多分类问题…

[系统安全] 六十一.恶意软件分析 (12)LLM赋能Lark工具提取XLM代码的抽象语法树(初探)

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…

一文掌握Docker

目录 1.快速入门 1.1.部署MySQL 1.2.命令解读 2.Docker基础 2.1.常见命令 2.1.1.命令介绍 2.1.2.演示 2.1.3.命令别名 2.2.数据卷 2.2.1.什么是数据卷 2.2.2.数据卷命令 2.2.3.挂载本地目录或文件 2.3.镜像 2.3.1.镜像结构 2.3.2.Dockerfile构建镜像 2.3.3.构建…

【网络编程】基础知识

目录 网络发展史 局域网和广域网 局域网(LAN) 广域网(Wan) 光猫 路由器 网线 设备通信的要素 IP地址 基本概念 地址划分 特殊地址(后续编程使用) IP地址转换 字节序 网络模型 网络的体系结…

细说STM32F407单片机窗口看门狗WWDG的原理及使用方法

目录 一、窗口看门狗的工作原理 1、递减计数器 2、窗口值和比较器 3、看门狗的启动 4、提前唤醒中断 二、窗口看门狗的HAL驱动程序 1、窗口看门狗初始化 2.窗口看门狗刷新 3.EWI中断及其处理 三、不开启EWI的WWDG示例 1、示例功能 2、项目设置 (1&…

Windows 蓝牙驱动开发-蓝牙设备栈

蓝牙设备栈 蓝牙驱动程序堆栈包含 Microsoft 为蓝牙协议提供支持的核心部分。 有了这个堆栈,已启用蓝牙的设备可以彼此定位并建立连接。 在此类连接中,设备可以通过各种应用程序交换数据并彼此交互。 下图显示了蓝牙驱动程序堆栈中的模块,以…

港科夜闻 | 香港科大与微软亚洲研究院签署战略合作备忘录,推动医学健康教育及科研协作...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与微软亚洲研究院签署战略合作备忘录,推动医学健康教育及科研协作。根据备忘录,双方将结合各自于科研领域的优势,携手推动医学健康领域的交流与合作。合作方向将涵盖人才培训、…

设计模式03:行为型设计模式之策略模式的使用情景及其基础Demo

1.策略模式 好处:动态切换算法或行为场景:实现同一功能用到不同的算法时和简单工厂对比:简单工厂是通过参数创建对象,调用同一个方法(实现细节不同);策略模式是上下文切换对象,调用…

Spring Boot 下的Swagger 3.0 与 Swagger 2.0 的详细对比

先说结论: Swgger 3.0 与Swagger 2.0 区别很大,Swagger3.0用了最新的注释实现更强大的功能,同时使得代码更优雅。 就个人而言,如果新项目推荐使用Swgger 3.0,对于工具而言新的一定比旧的好;对接于旧项目原…

3 前端(上): Web开发相关概念 、HTML语法、CSS语法

文章目录 前言:导学1 Web开发相关概念2 Web标准(网页标准)3 软件架构(CS/BS)(1)C/S: Client/Server 客户端 / 服务器端(2)B/S: Browser/Server 浏览器 / 服务器端VSCode配置前段开发环境一、HTML概念1 概念2 HTML快速入门(1)语法快速入门(2)VSCode一个 !(快捷键…

目标检测新视野 | YOLO、SSD与Faster R-CNN三大目标检测模型深度对比分析

目录 引言 YOLO系列 网络结构 多尺度检测 损失函数 关键特性 SSD 锚框设计 损失函数 关键特性 Faster R-CNN 区域建议网络(RPN) 两阶段检测器 损失函数 差异分析 共同特点 基于深度学习 目标框预测 损失函数优化 支持多类别检测 应…

go chan底层分析

go chan底层分析 底层源码hchanmakechan 方法 环形队列阻塞机制向管道写数据流程图源码 从管道读数据流程图源码 关闭通道 底层源码 hchan type hchan struct {qcount uint // 当前队列中剩余元素个数dataqsiz uint // 环形队列长度,即可以…