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
第 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
第 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-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 服务的状态
第 7 步:运行测试容器
运行 hello-world 测试容器,验证 Docker 是否安装成功并正常工作:
sudo docker run 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
允许非 root 用户运行 Docker 命令
默认情况下,只有 root 用户或具有 sudo 权限的用户才能够执行 Docker 命令。如果不加sudo
前缀直接运行docker
命令,系统会报权限错误。
我们可以运行以下命令将当前登录的用户添加到 docker 组,以便以非 root 用户身份运行 Docker 命令:
sudo usermod -aG docker ${USER}
在这条命令中,${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,推荐访问以下资源:
- Docker 官方文档:https://docs.docker.com/
- Docker 社区论坛:https://forums.docker.com/
老师您好 ::
第 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.
108.160.166.42这IP一看就是被污染了啊,download.docker.com在国内是一个不存在的网站,要自己想办法过墙。
我之间科学上网过,,现在发现网速都慢了,不知道怎么纠正过来。
科学上网要分流啊,只代理被墙的网站,其它直连。这个你要自己研究了。
download.docker.com在国内是一个不存在的网站,对于上面命令中涉及https://download.docker.com/linux/ubuntu/的,通通修改为https://mirrors.aliyun.com/docker-ce/linux/ubuntu/即可。也就是一开始定阿里云的镜像网站为主要源