正常 Ubuntu 下安装 Docker 步骤
开始前,我们需要运行以下命令以卸载所有冲突的软件包
1
| for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
|
apt-get
可能会报告您未安装这些软件包。
设置 Docker 的 apt 仓库
官方源
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
|
阿里源
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo apt-get update sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
|
安装 Docker
运行以下命令安装最新版本:
1
| sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin`
|
安装特定版本的 Docker Engine,首先列出存储库中可用的版本:
1 2 3 4 5 6
| apt-cache madison docker-ce | awk '{ print $3 }'
5:27.5.0-1~ubuntu.24.04~noble 5:27.4.1-1~ubuntu.24.04~noble ...
|
选择所需版本并安装:
1 2
| VERSION_STRING=5:27.5.0-1~ubuntu.24.04~noble sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
|
使用 hello-world 镜像验证是否成功安装
1
| sudo docker run hello-world
|
此命令下载一个测试镜像并在容器中运行它。当容器运行时,它会输出一条确认消息然后退出。
安装结束。
Linux Mint 下遇到的坑
安装正常的 Ubuntu 步骤,在 Linux Mint 下添加 Docker 软件源后,会在 apt-get update
步骤下报错,报错内容如下
1 2 3 4 5 6
| 忽略:1 https://download.docker.com/linux/ubuntu wilma InRelease 错误:3 https://download.docker.com/linux/ubuntu wilma Release 正在读取软件包列表... 完成 E: 仓库 “https://download.docker.com/linux/ubuntu wilma Release” 没有 Release 文件。 N: 无法安全地用该源进行更新,所以默认禁用该源。 N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
|
这是因为部分 Ubuntu 衍生发行版使用的并不是 VERSION_CODENAME
而是 UBUNTU_CODENAME
,使用 VERSION_CODENAME
会导致添加错误的 Ubuntu 发行版代号
正常在 Ubuntu 下添加软件源的步骤是这么写的
1 2 3 4
| echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
这就需要我们在添加软件源时将 VERSION_CODENAME
改成 UBUNTU_CODENAME
,上面阿里源同理
阿里源不能直接使用下面的内容
1 2 3 4
| echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
最后使用 apt-get update
就不会报错了