ubuntu安装docker
在 Ubuntu 上安装 Docker 的步骤如下,采用 官方推荐方法(通过 apt
仓库安装),确保安全性和稳定性:
- 查看 Ubuntu 发行版信息
lsb_release 命令(推荐)
bashlsb_release -a
输出示例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
1. 卸载旧版本(如有)
Ubuntu 可能自带低版本 Docker(如 docker.io
),需先卸载:
bashsudo apt remove docker docker-engine docker.io containerd runc
2. 更新软件包列表
bashsudo apt update
3. 安装依赖包
Docker 依赖以下工具,用于通过 HTTPS 访问仓库和验证签名:
sudo apt install -y \apt-transport-https \ca-certificates \curl \gnupg \lsb-release
4. 添加 Docker 官方 GPG 密钥
确保软件包来源可信:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
5. 添加 Docker 软件源
根据系统版本(如 Ubuntu 22.04)自动匹配仓库:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
6. 更新软件包索引
bashsudo apt update
7. 安装 Docker 引擎
安装最新稳定版(包含 docker-ce
、docker-ce-cli
和 containerd.io
):
bashsudo apt install -y docker-ce docker-ce-cli containerd.io
8. 验证安装
运行测试镜像 hello-world
,若输出 Hello from Docker!
则成功:
bash
sudo systemctl enable docker
sudo systemctl start docker
sudo docker --version
sudo docker run hello-world
9. 可选配置
允许非 root 用户运行 Docker
将当前用户加入 docker
组,避免每次使用 sudo
:
sudo usermod -aG docker $USER
newgrp docker # 刷新组权限(或重新登录)
验证:
bashdocker run hello-world # 无需 sudo
设置开机自启
bashsudo systemctl enable docker
10. 卸载 Docker(如需)
sudo apt purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/apt/sources.list.d/docker.list
常见问题
-
网络问题:若下载慢,可替换为阿里云镜像源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update
-
权限错误:确保当前用户在
docker
组中(步骤 9)。 -
依赖冲突:卸载旧版本后重试(步骤 1)。
总结
- 推荐方法:通过
apt
仓库安装,自动处理依赖和升级。 - 关键命令:
sudo apt install docker-ce
、docker run hello-world
。 - 用户权限:非 root 用户需加入
docker
组。
此方法适用于 Ubuntu 20.04/22.04/24.04 LTS 版本,确保长期支持(LTS)的稳定性。