Ubuntu系统Docker安装完整图文教程

低价海外云服务器,香港/美国免备案服务器仅需8.8起

Ubuntu系统Docker安装完整图文教程

很多刚接触Ubuntu Linux系统的开发者,想要搭建容器化的开发环境或者部署应用,首先需要正确安装Docker。不同于Windows和macOS系统,Linux系统下的Docker安装需要通过命令行完成,不少新手容易在这一步遇到各种问题。本文将针对Ubuntu系统(尤其是24.04 LTS版本),从安装前的准备到最终验证使用,一步步带你完成Docker的完整安装流程,还会整理常见的报错解决方法,帮你避开安装陷阱。

如果你使用的是CentOS系列Linux系统,可以参考另一篇专属教程:Linux安装Docker教程(详解)

一、安装前的准备工作

1、更换Ubuntu国内软件源

Ubuntu默认的官方软件源服务器位于海外,国内用户访问时下载速度往往较慢,尤其是在安装大量依赖包的时候,可能会出现超时或者下载缓慢的情况。因此在安装Docker之前,我们可以先更换为国内的软件源,提升后续操作的效率。

不同版本的Ubuntu更换软件源的步骤略有差异,如果你使用的是Ubuntu24.04版本,可以直接参考这篇专属教程完成更换:Ubuntu24.04更新国内源。完成软件源更换之后,我们就可以开始正式安装Docker了。

二、Docker安装全流程

接下来的步骤将在已经更换好国内软件源的Ubuntu系统上执行,所有命令均需要通过终端运行,你可以通过快捷键Ctrl+Alt+T快速打开终端。

1、卸载旧版Docker组件

如果你的系统之前从未安装过Docker相关的组件,这一步可以直接跳过。如果之前安装过旧版本的Docker,为了避免版本冲突或者残留文件影响新的安装,我们可以先执行卸载命令:

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

执行这条命令会移除系统中已有的Docker相关包,但不会删除镜像、容器以及配置文件。如果需要彻底清理残留数据,可以在后续补充执行清理命令,但对于首次安装的用户来说,执行上面的命令即可。 在这里插入图片描述

2、更新本地软件包索引

在安装新的软件之前,我们需要先更新本地的软件包索引,确保可以获取到最新的软件版本信息。执行以下两条命令:

sudo apt update
sudo apt upgrade

其中sudo apt update用于更新本地的软件包索引列表,sudo apt upgrade用于升级系统中已安装的软件包。如果只是首次安装Docker,sudo apt update是必须执行的,sudo apt upgrade可以根据自己的需求选择执行,如果你希望系统中的软件都保持最新版本,可以执行这条命令,否则可以跳过upgrade步骤。 在这里插入图片描述

3、安装Docker所需依赖

Docker的安装需要依赖一些工具包来确保可以正常下载和验证软件包,执行以下命令安装这些依赖:

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

我们来逐个解释这些依赖的作用:

  • apt-transport-https:让apt包管理器可以通过HTTPS协议获取软件包,提升下载的安全性
  • ca-certificates:用于验证SSL证书,确保下载的软件包来源合法
  • curl:用于从网络上下载文件的工具
  • software-properties-common:提供了add-apt-repository命令,用于添加第三方软件仓库
  • gnupg:用于处理GPG密钥,验证软件包的完整性
  • lsb-release:用于获取当前Ubuntu系统的版本代号,方便后续添加对应版本的软件仓库 执行完成之后,系统会自动安装所有需要的依赖包。 在这里插入图片描述

4、添加Docker官方GPG密钥

为了确保下载的Docker软件包没有被篡改,我们需要添加Docker官方的GPG密钥到系统中。这里我们使用国内阿里云镜像源的GPG密钥,速度更快且稳定性更好,执行以下命令:

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

这条命令通过curl从阿里云的镜像地址下载GPG密钥,然后通过管道将密钥传递给apt-key add -命令,将密钥添加到系统的密钥环中。如果命令执行成功,终端会输出OK的提示。 在这里插入图片描述

5、添加阿里云Docker镜像仓库

添加GPG密钥之后,我们需要添加阿里云的Docker镜像仓库,这样后续安装Docker的时候就可以从国内的镜像源下载,速度比官方仓库快很多。执行以下命令:

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

其中$(lsb_release -cs)会自动获取当前Ubuntu系统的版本代号,比如Ubuntu24.04的代号是noble,这样命令会自动适配当前系统的版本,添加对应的稳定版仓库。

部分用户在执行这条命令的时候可能会遇到密钥存储相关的警告,我们会在后续的问题汇总部分讲解如何解决这个问题。 在这里插入图片描述

如果执行过程中出现下面的提示,可以参考后续的问题解决方法处理: 在这里插入图片描述

6、安装Docker社区版

完成仓库添加之后,我们就可以正式安装Docker了,执行以下命令安装最新的稳定版Docker:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

我们来解释一下这些包的作用:

  • docker-ce:Docker社区版的核心引擎,负责运行和管理容器
  • docker-ce-cli:Docker的命令行工具,用于通过终端和Docker交互
  • containerd.io:容器运行时环境,负责管理容器的生命周期
  • docker-compose-plugin:Docker Compose插件,用于快速部署和管理多容器的应用程序 执行命令之后,系统会自动从阿里云的镜像仓库下载并安装所有的包,安装过程可能需要几分钟时间,取决于你的网络速度。 在这里插入图片描述

三、Docker后续配置与验证

安装完成Docker之后,我们还需要进行一些基础配置,让使用起来更加方便,并且验证安装是否成功。

1、配置Docker用户组

默认情况下,只有root用户或者在docker用户组中的用户才能执行Docker命令,普通用户如果直接执行docker命令的话,会出现权限不足的报错。为了避免每次执行Docker命令都需要输入sudo,我们可以将当前用户添加到docker用户组中,执行以下命令:

sudo usermod -aG docker $USER

执行完成之后,需要重启系统才能让用户组的配置生效,执行以下命令重启电脑:

reboot

重启之后重新登录系统,就可以直接执行Docker命令而不需要加sudo了。 在这里插入图片描述

2、配置Docker镜像加速

虽然我们已经使用了阿里云的镜像仓库来安装Docker,但在后续拉取其他镜像的时候,官方Docker Hub的镜像还是会比较慢,尤其是国内用户,经常会出现拉取超时的情况。因此我们需要配置Docker镜像加速,使用国内的镜像源来提升拉取速度。

本文整理了2025年2月最新可用的多个镜像加速源,你可以直接复制使用,如果后续发现某个源失效,可以替换为其他可用的源。执行以下命令编辑Docker的配置文件:

sudo vi /etc/docker/daemon.json

如果你不习惯使用vi编辑器,可以替换为nano编辑器,执行sudo nano /etc/docker/daemon.json。在打开的文件中,直接复制以下内容并保存:

{
"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
# 如果Docker尚未启动,执行启动命令
sudo systemctl start docker
# 如果Docker已经启动,执行重启命令
sudo systemctl restart docker
# 设置Docker开机自动启动
sudo systemctl enable docker

最后我们可以通过以下命令验证镜像加速是否配置成功:

sudo docker info

在输出的信息中,找到Registry Mirrors部分,如果可以看到我们配置的镜像源地址,就说明加速配置已经生效。 在这里插入图片描述

3、验证Docker安装是否成功

最后我们可以通过运行官方的hello-world容器来验证Docker是否安装成功,执行以下命令:

sudo docker run hello-world

这条命令会从Docker Hub拉取hello-world镜像,然后运行一个临时容器,容器运行之后会输出一段提示信息,说明你的Docker安装和配置都已经成功。如果终端输出了类似“Hello from Docker!”的信息,就代表安装成功了。 在这里插入图片描述

四、常见安装问题排查

在安装Docker的过程中,不少用户会遇到一些常见的问题,这里我们整理了几个最常见的报错和解决方法:

1、添加Docker仓库时的GPG密钥警告

部分用户在执行add-apt-repository命令添加阿里云Docker仓库的时候,会出现以下警告:

W: http://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/noble/InRelease: 密钥存储在过时的 trusted.gpg 密钥环中(/etc/apt/trusted.gpg),请参见 apt-key(8) 的 DEPRECATION 一节以了解详情。

这个警告的原因是apt-key工具已经被弃用,新版本的apt推荐将GPG密钥存储在/etc/apt/trusted.gpg.d/目录下。我们可以通过以下命令解决这个问题:

sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/

复制完成之后,重新执行添加仓库的命令即可:

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

2、Docker服务启动失败

如果执行sudo systemctl start docker之后出现服务启动失败的提示,可以通过以下命令查看详细的错误日志:

sudo systemctl status docker

根据日志中的错误信息来排查问题,常见的原因包括配置文件格式错误、端口被占用等。比如如果配置文件daemon.json的JSON格式有误,会导致Docker无法启动,只需要修正配置文件的格式即可。

3、拉取镜像速度缓慢

如果拉取镜像的时候速度还是很慢,可以先检查镜像加速是否配置正确,通过sudo docker info查看Registry Mirrors部分是否有有效的镜像源。如果配置正确但还是慢,可以尝试更换其他的镜像加速源,比如将DaoCloud的源替换为中科大的源。

SEO标签

Ubuntu安装Docker Docker镜像加速 Ubuntu软件源更换 Docker用户组配置 Docker安装报错解决

THE END
喜欢就关注一下咱们公众号吧
点赞36 分享