Docker: ubuntu系统下Docker的安装

米饭7个月前行业资讯575

安装依赖

操作系统版本


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

8bf5de3c1ef9436c8dba80e8ae36e353.png通过该命令查得cpu架构是x86_64的;

cat /etc/*release*

a118f2245add454da10bf91fa6f1ab25.png

查看得到版本信息是20.04的;

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

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

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

68f86a2c5f9549a5b5cbb63c2ab8269c.png

卸载旧版本:

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官网

找到对应版本,进入详情

c49f9e6f62514db88374d740983ab5f1.png滑到下面找到Download,复制链接

a765f0301ca14a2580565dd0a1d9619a.png

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源

62eef39dbdec4eaa89c772698eaba8de.png

找到对应版本选择下载,之后输入命令:对你的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

da0d71f882004c20891cd97e64710e18.png

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

查看docker版本

docker version

8155cccaf1cd40f981fba5f68136af5c.png

查看更详细信息

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查得

feeff883e56e4d31831e82de61ee7218.png

发现该目录下已经加载了配置了。

5b04edba81ae43d7acf1c63aee437c71.png

尝试运行

docker run hello-world

796208a2c8bf4ce098f62eaa8d93fb8d.png

只要出现了红框内容,那么就是安装成功的。

参考来源: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 文件


https://blog.csdn.net/m0_74068921/article/details/143446933?spm=1001.2100.3001.7377&utm_medium=distribute.pc_feed_blog_category.none-task-blog-classify_tag-6-143446933-null-null.nonecase&depth_1-utm_source=distribute.pc_feed_blog_category.none-task-blog-classify_tag-6-143446933-null-null.nonecase

本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!  

云掣基于多年在运维领域的丰富时间经验,编写了《云运维服务白皮书》,欢迎大家互相交流学习:

《云运维服务白皮书》下载地址:https://fs80.cn/v2kbbq

想了解更多大数据运维托管服务、数据库运维托管服务、应用系统运维托管服务的的客户,欢迎点击云掣官网沟通咨询:https://yunche.pro/?t=shequ


相关文章

Gradle 8.4.0 配置阿里云镜像的详细指南

Gradle 8.4.0 配置阿里云镜像的详细指南

引言Gradle 是一个强大的构建工具,广泛用于自动化构建、测试、发布等过程。然而,由于网络原因,Gradle 默认的 Maven 中央仓库访问速度可能较慢,特别是在中国大陆地区。为了提高依赖下载速度...

云计算概念以及与云服务的区别

云计算概念以及与云服务的区别

1.云的概念1.1 什么是云?        “云”在计算机科学和信息技术领域通常指“云计算”,即通过互联网提供计算资源(如服务器、存储、数据库、网络、软件、分...

Spring AOP 实战指南:从入门到精通(2)

Spring AOP 实战指南:从入门到精通(2)

三、Spring AOP 详解3.1 Spring AOP 核心概念:3.1.1 切点(Pointcut):切点(Pointcut),也称之为"切入点"。Pointcut 的作用就...

Spring AOP 实战指南:从入门到精通(3)

Spring AOP 实战指南:从入门到精通(3)

3.3 @PointCut:Spring 提供了 @PointCut 注解,把公共的切点表达式提取出来,需要用到时引用该切入点表达式即可,便于后续代码的维护。@Aspect @Slf4j @Com...

JAVA 程序员-云计算学习路径

JAVA 程序员-云计算学习路径

课程内容关系图第一章:容器化基础云计算简单概念测试安装 Nginx服务器的安全组设置按量付费优点私有网络 VPC 实战Docker 基础概念开通华为服务器Docker 安装镜像操作容器操作修改容器内容...

Spring AOP 实战指南:从入门到精通(4)

Spring AOP 实战指南:从入门到精通(4)

3.5 切点表达式:上面的代码中,我们一直在使用切点表达式来描述切点。下面我们来介绍一下切点表达式的语法。切点表达式常见有两种表达方式:execution:根据方法的签名来匹配。@annotation...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。