Docker: ubuntu系统下Docker的安装

安装依赖

操作系统版本

  • Ubuntu Kinetic 22.10
  • Ubuntu Jammy 24.04 (LTS)
  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)

CPU架构支持

  • ARM
  • x86_64

查看我们的系统版本信息

uname -a

在这里插入图片描述
通过该命令查得cpu架构是x86_64的;

cat /etc/*release*

在这里插入图片描述
查看得到版本信息是20.04的;

如果版本号跟不上的话,是不支持最新的Docker的;

卸载旧版本或历史版本的Docker

如果系统镜像是新搭建的,是没有包含docker的,可以跳过这一步;
我们也可以通过 输入docker来验证你是否有安装:
有安装的话:
在这里插入图片描述

卸载旧版本:

sudo apt-get remove docker docker-engine docker.io containerd runc

卸载历史版本:

#卸载软件
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
#删除目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

配置docker下载源

#curl 命令安装sudo apt install curl -y
#安装必要的包  添加Docker的官方GPG密钥
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://mirrors.aliyun.codocker-ce/linux/ubuntu/gpg | sudo apt-key add -

GPG密钥是一种用于数据加密、数字签名和安全通信的工具。在安装软件包时,GPG密钥可以确保用户下载的软件包是来自官方或可信任的源,且没有在传输过程中被篡改或损坏。
用户需要从Docker的官方网站或其他可信任的源下载GPG密钥,下载完成后,用户需要将GPG密钥导入到系统的GPG密钥环中。

常见错误

curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to download.docker.com:443 gpg: no valid OpenPGP data found.

这个错误通常意味着在尝试通过 HTTPS 连接到 download.docker.com 时,连接被远程服务器重置。这可能是由于网络问题、DNS 解析问题或服务器端的配置错误导致的。

我们可以先ping 一下该网站是否能够连接上:

ping download.docker.com

可以的话,有时服务器可能暂时不可用或正在维护。等待一段时间后重试可能会解决问题。多输入几遍到不报错为止。

安装docker

由于下载官方安装包的时候下载过慢,所以这里通过阿里云的下载源来进行下载。

#添加阿里云镜像的Docker APT源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
#更新APT包索引
sudo apt update
#安装Docker CE(Community Edition)
sudo apt install docker-ce docker-ce-cli containerd.io -y

常见错误(没有公钥)

apt update时

W: GPG error: https://download.docker.com/linux/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
E: The repository 'https://download.docker.com/linux/ubuntu focal InRelease' is not signed.

这是由于没有公钥,无法验证下列签名,
解决方法:可以通过以下命令来添加缺失的公钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8

将会从Ubuntu的公钥服务器上获取缺失的公钥并将其添加到你的系统中。然后,重新运行apt update命令来更新软件包列表。

常见错误(没有 Release 文件)

第一种方法

apt update时

The repository 'https://download.docker.com/linux/ubuntu focal Release' does not have a Release file.

这通常意味着您尝试访问的 Docker 仓库分支或版本不存在或已更改。

解决方法:更新Ca-certificates
Ca-certificates官网

找到对应版本,进入详情
在这里插入图片描述
滑到下面找到Download,复制链接
在这里插入图片描述

wget http://ports.ubuntu.com/pool/main/c/ca-certificates/ca-certificates_20240203~20.04.1_all.deb
sudo dpkg -i ca-certificates_20240203~20.04.1_all.deb

输入命令进行下载解压

sudo apt update

再次更新

第二种方法

更新source源:网站:国内source源
在这里插入图片描述
找到对应版本选择下载,之后输入命令:对你的sources.list源进行拷贝更新

sudo cp sources.list /etc/apt

再次尝试

sudo apt update

自动启动配置

#配置加载
sudo systemctl daemon-reload 
#启动服务
sudo systemctl start docker 
#开启启动
sudo systemctl enable docker
# 查看服务状态
sudo systemctl status docker

在这里插入图片描述

这是是绿色的表明服务是正常运行的;

查看docker版本

docker version

在这里插入图片描述

查看更详细信息

docker info

对docker镜像源的更改

默认情况下,Docker使用的是官方的镜像源,如Docker Hub。然而,由于网络条件地理位置官方镜像源本身的限制下载速度可能会较慢,导致在构建容器时等待时间过长。
为了提高下载速度,许多用户会选择将镜像源更改为国内的镜像源,如阿里云、DaoCloud等提供的加速器。这些加速器通常位于国内,能够更快地响应用户的下载请求,从而显著提高下载速度。

vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://mirror.ccs.tencentyun.com","https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"],"data-root": "/data/var/lib/docker"
}

重新启动

sudo systemctl restart docker

Docker目录的更改

Docker 默认的安装目录为/var/lib/docker,这里面会存放很多很多镜像,所以我们在安装的时候需要考虑这个目录的空间,为了增大空间的上限,我们给它换一个大的磁盘。

#假定我们磁盘的大的目录为 /data
mkdir -p /data/var/lib/docker 
# 编辑配置文件
vi /etc/docker/daemon.json
# 输入下面的 json
{
"data-root": "/data/var/lib/docker"
}
# 加载配置
sudo systemctl daemon-reload 
# 重启 docker
sudo systemctl restart docker 
#查看 docker 状态
sudo systemctl status docker

通过命令docker info查得
在这里插入图片描述

发现该目录下已经加载了配置了。
在这里插入图片描述

尝试运行

docker run hello-world

在这里插入图片描述
只要出现了红框内容,那么就是安装成功的。


参考来源:E:The repository ‘https://mirrors.aliyun.com/docker-ce/linux/ubuntu una Release‘ does not have a Rel
解决E: 仓库 “https://download.docker.com/linux/ubuntu focal Release” 不再含有 Release 文件

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

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

相关文章

极速入门数模电路

一. 认识数模元器件 1.1 面包板 1.2 导线 一般使用红色导线表示正极,黑色导线表示负极。 1.3 纽扣电池 1.4 电池座 1.4 LED灯 1.5 数码管 1.6 有源蜂鸣器 1.7 扬声器 1.8 电容 电容接电池之后可以充电,充完电后电容接LED灯可以放电。 1.9 电阻 1.1…

如何合理设计一套springcloud+springboot项目中的各个微服务模块之间的继承关系的最优方案

文章目录 一、模块化设计所遵循的原则二、项目架构设计三、各个模块作用说明3.1 core 模块3.2 common 模块3.3 generatorcode模块3.4 business 模块3.5 web 模块3.6 admin 模块3.7 父pom 四、采用import引入SpringBoot 在springcloud微服务项目中经常用到多模块化的架构设计&am…

java版询价采购系统 招投标询价竞标投标系统 招投标公告系统源码

在信息化飞速发展的今天,电子招投标采购系统已成为企业运营中的重要一环。这一系统不仅优化了传统的招投标流程,还为企业带来了诸多显著的价值。 首先,电子招投标采购系统极大地提高了工作效率。传统招投标过程中,企业需要耗费大…

物联网——UNIX时间戳、BKP备份寄存器、RTC时钟

RTC时钟 Unix时间戳 UTC/GMT 时间戳转换 时间戳转换 BKP简介 RTC框图 RTC基本结构 硬件供电电路 RTC操作注意事项 接线图(读写备份寄存器和实时时钟)

系统思考—跳出症状看全局

在和企业创办人交流中,经常听到这样的疑问:“为什么我们试了这么多办法,问题却还是没有解决?”其实很多时候,根本原因并不在于对策不到位,而是连问题的本质都没找对。 曾经和一家企业合作,为了解…

RK3568平台开发系列讲解(platform虚拟总线驱动篇)实验:点亮一个LED

🚀返回专栏总目录 文章目录 一、设备树二、平台驱动三、应用沉淀、分享、成长,让自己和他人都能有所收获!😄 📢xxx 程序编写的主要内容为添加 LED 灯的设备树节点、在驱动程序中使用 of 函数获取设备节点中的属性,编写测试应用程序。 • 首先向设备树添加 LED 设备节点…

【售前方案】工业园区整体解决方案,智慧园区方案,智慧城市方案,智慧各类信息化方案(ppt原件)

基于云计算、物联网、移动通信计算的智慧园区集中运营管理平台是一个高度集成化、智能化的管理系统,它利用先进的技术手段对园区进行全方位的监控和管理。 软件资料清单列表部分文档清单:工作安排任务书,可行性分析报告,立项申请审…

Nacos 配置中心变更利器:自定义标签灰度

作者:柳遵飞 配置中心被广泛使用 配置中心是 Nacos 的核心功能之一,接入配置中心,可以实现不重启线上应用的情况下动态改变程序的运行期行为,在整个软件生命周期中,可以极大降低了软件构建及部署的成本,提…

两大新兴开发语言大比拼:Move PK Rust

了解 Move 和 Rust 的差异有助于开发者根据项目的具体需求选择最合适的语言。选择不恰当的语言可能会导致项目后期出现技术债务。不同语言有其独特的优势。了解 Move 和 Rust 的差异可以帮助开发者拓展技术视野,发现不同语言在不同领域的应用潜力。 咱们直奔主题&a…

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法 目录 文章目录 【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法目录摘要:研究背景:问题与挑战:如何解…

面试题:Kafka(一)

1. Kafka如何保证消息不丢失 生产者发送消息到Brocker丢失 设置异步发送 消息重试 消息在Brocker中存储丢失 发送确认机制acks 消费者从Brocker接收消息丢失 Kafka 中的分区机制指的是将每个主题划分成多个分区(Partition)topic分区中消息只能由消费者…

基于多模板配准的心腔分割算法

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月18日20点09分 神秘男子影, 秘而不宣藏。 泣意深不见, 男子自持重, 子夜独自沉。 论文链接 点击开启你的论文编程之旅…

ScubaGear:用于评估 Microsoft 365 配置是否存在安全漏洞的开源工具

ScubaGear 是由网络安全和基础设施安全局 (CISA) 创建的开源工具,用于自动评估 Microsoft 365 (M365) 配置中是否存在潜在的安全漏洞。 ScubaGear 分析组织的 M365 租户配置,提供可操作的见解和建议,以帮助管理员解决安全漏洞并加强 Microso…

PgSQL汇总

SQL sql执行顺序 1.from 2.on 3.join 4.where 5.group by(开始使用select中的别名,后面的语句中都可以使用) 6. avg,sum.. 7.having 8.select 9.distinct 10.order by 11.limit⭐流程控制语句 CASE 写法一: CASE case_valueWHEN when_value THENsta…

.NET 简介

文章目录 一、组件二、免费且开源三、支持四、.NET 生态系统 .NET 是一个免费的跨平台开放源代码开发人员平台,用于生成多种类型的应用程序。 .NET 可以运行使用多种语言编写的程序,其中 C# 是最常用的语言。 .NET 依赖于许多大规模应用在生产中使用的高…

Linux之vim模式下全选命令

在Linux系统中,使用Vim编辑器进行全选操作可以通过以下几种方式实现: 1.使用键盘快捷键 按下 ”ggVG”(先按下”g”,再按下”g”,再按下”V”,最后按下”G”)可以全选当前文件内容。其中 ”g…

【学习笔记】大模型调优(llms_tuning)

项目地址:GitHubchunhuizhang/llms_tuning 文章目录 01 TRL SFTTrainer 中的 formatting_func 与 DataCollatorForCompletion02 accelerate ddp 与 trl SFTTrainer03 finetune_llama3_for_RAG04 optimizer Trainer 优化细节(AdamW,grad clip、…

剧本杀门店预约小程序,解锁沉浸式推理体验

一、开发背景 剧本杀作为一种热门娱乐游戏,深受大众的欢迎,但随着市场的快速发展,竞争也在不断加大,对于剧本杀线下商家来说面临着发展创新。 剧本杀线下门店数量目前正在逐渐增加,竞争激烈,而门店的获客…

OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算

本文实现Python库d和OpenCV来实现眼部闭合检测,主要用于评估用户是否眨眼。 步骤一:导入必要的库和设置参数 首先,代码导入了必要的Python库,如dlib、OpenCV和scipy。通过argparse设置了输入视频和面部标记预测器的参数。 from…

candence : 如何利用EXCEL 绘制复杂、多管脚元件

如何利用EXCEL 绘制复杂、多管脚元件 前面的步骤直接略过 我们以STM32F407VEXX 系列 100pin 芯片为例讲解: 1、新建好一个空元件 2、使用阵列,放置管脚 点击 “ ok ” 3、选中所有管脚 右键 “edit properites” 出现如下页面 4、点击 左上角&…