系统极客一直在努力
专注操作系统及软件使用技能

如何在 Ubuntu 24.04 LTS 上安装 Docker

Docker Logo

Ubuntu 是一款稳定而出色的操作系统,再搭配 Docker 这一强大的容器化工具,能够极大地简化应用程序的创建、部署和管理过程。接下来,本文将详细介绍如何在 Ubuntu 24.04 LTS 上安装 Docker,帮助你轻松开启容器化之旅。

在 Ubuntu 24.04 LTS 上安装 Docker

在 Ubuntu 24.04 LTS 上,虽然可以通过 Ubuntu 的官方仓库直接安装 Docker,但是这种方法通常无法获取到最新的 Docker 版本,而且安全更新也可能延迟。

因此,推荐从 Docker 的官方仓库进行安装,确保可以用上最新版本并和自动更新。

第 1 步:更新软件包并安装必要软件

运行以下命令,更新软件包索引并安装添加 Docker 仓库所需的前置软件包:

sudo apt update
sudo apt install apt-transport-https curl
更新软件包并安装必要软件
更新软件包并安装必要软件

第 2 步:导入 Docker 官方 GPG 密钥

使用以下命令下载并导入 Docker 官方的 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
使用 curl 命令下载并导入 Docker 官方 GPG 密钥
使用 curl 命令下载并导入 Docker 官方 GPG 密钥

第 3 步:添加 Docker 官方仓库

将 Docker 的官方仓库添加到 Ubuntu 24.04 LTS 的软件源列表:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
将 Docker 官方仓库添加到 apt 源列表
将 Docker 官方仓库添加到 apt 源列表

第 4 步:更新软件包列表

刷新软件包列表,以便系统识别新添加的 Docker 仓库:

sudo apt update

第 5 步:安装 Docker

执行以下命令在 Ubuntu 24.04 LTS 上安装最新版本的 Docker,包括 Docker 引擎及其相关组件:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装 Docker Engine 及其相关组件
安装 Docker Engine 及其相关组件

安装的组件包括:

  • docker-ce:Docker Engine。
  • docker-ce-cli:用于与 Docker 守护进程通信的命令行工具。
  • containerd.io:管理容器生命周期的容器运行时环境。
  • docker-buildx-plugin:增强镜像构建功能的 Docker 扩展工具,特别是在多平台构建方面。
  • docker-compose-plugin:通过单个 YAML 文件管理多容器 Docker 应用的配置管理插件。

第 6 步:检查 Docker 服务状态

使用以下命令检查 Docker 的运行状态:

sudo systemctl is-active docker
检查 Docker 服务状态
检查 Docker 服务状态

检查 Docker 服务的状态

第 7 步:运行测试容器

运行 hello-world 测试容器,验证 Docker 是否安装成功并正常工作:

sudo docker run hello-world
运行 hello-world 测试容器
运行 hello-world 测试容器

替换 DockerHub 国内镜像源

如果拉取 DockerHub 镜像时遇到困难,可以替换为国内镜像:

1打开配置文件:使用文本编辑器打开 Docker 的配置文件,如果没有就新建:

sudo vim /etc/docker/daemon.json

2编辑配置文件:在配置文件中添加或修改registry-mirrors,指定国内镜像源的 URL。以下是一些可用的国内镜像源地址,你可以根据需要选择使用:

  • DaoCloud:https://docker.m.daocloud.io
  • 百度云镜像站:https://mirror.baidubce.com
  • 网易云镜像站: http://hub-mirror.c.163.com
  • 南京大学镜像站: https://docker.nju.edu.cn

配置文件的内容示例如下:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.baidubce.com",
    "http://hub-mirror.c.163.com"
  ]
}

3重启 Docker 服务:保存配置文件并重启 Docker 服务以应用更改。

sudo systemctl daemon-reload
sudo systemctl restart docker

4验证配置:重启 Docker 后,使用docker info命令来检查镜像源是否已经替换成功:

sudo docker info
使用 docker info 命令检查镜像源
使用 docker info 命令检查镜像源

允许非 root 用户运行 Docker 命令

默认情况下,只有 root 用户或具有 sudo 权限的用户才能够执行 Docker 命令。如果不加sudo前缀直接运行docker命令,系统会报权限错误。

我们可以运行以下命令将当前登录的用户添加到 docker 组,以便以非 root 用户身份运行 Docker 命令:

sudo usermod -aG docker ${USER}
将当前登录用户添加到 docker 组
将当前登录用户添加到 docker 组

在这条命令中,${USER}是一个环境变量,表示当前登录的用户名。执行完这条命令后,需要重启 Ubuntu 系统。重启之后,就可以不需要加sudo前缀来执行 docker 命令了。

卸载 Docker

要从 Ubuntu 24.04 LTS 中卸载 Docker,都可以按照以下步骤操作:

1使用以下命令卸载 Docker 及其相关组件:

sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2执行以下命令来删除 Docker 创建的目录:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

完成这些步骤后,Docker 将完全从你的 Ubuntu 24.04 系统中移除。


要进一步了解 Docker,推荐访问以下资源:

赞(19) 赞赏

评论 5

  1. #1

    老师您好 ::
    第 3 步:添加 Docker 官方仓库
    将 Docker 的官方仓库添加到 Ubuntu 24.04 LTS 的软件源列表:《echo "deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null》
    第 4 步:更新软件包列表
    刷新软件包列表,以便系统识别新添加的 Docker 仓库:
    sudo apt update
    出现无法更新的情况,具体如下:
    Could not connect to download.docker.com:443 (2a03:2880:f10d:83:face:b00c:0:25de), connection timed out Could not connect to download.docker.com:443 (108.160.166.42), connection timed out
    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    83 packages can be upgraded. Run 'apt list –upgradable' to see them.
    W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/noble/InRelease Could not connect to download.docker.com:443 (2a03:2880:f10d:83:face:b00c:0:25de), connection timed out Could not connect to download.docker.com:443 (108.160.166.42), connection timed out
    W: Some index files failed to download. They have been ignored, or old ones used instead.

    轩鸿青4个月前 (07-14)回复
    • 108.160.166.42这IP一看就是被污染了啊,download.docker.com在国内是一个不存在的网站,要自己想办法过墙。

      海猴子4个月前 (07-14)回复
      • 我之间科学上网过,,现在发现网速都慢了,不知道怎么纠正过来。

        轩鸿青4个月前 (07-14)
    • 科学上网要分流啊,只代理被墙的网站,其它直连。这个你要自己研究了。

      海猴子4个月前 (07-15)回复
    • download.docker.com在国内是一个不存在的网站,对于上面命令中涉及https://download.docker.com/linux/ubuntu/的,通通修改为https://mirrors.aliyun.com/docker-ce/linux/ubuntu/即可。也就是一开始定阿里云的镜像网站为主要源

      yammie4个月前 (07-27)回复

微信赞赏