Docker 是一种流行的容器化平台,广泛用于开发、部署和运行应用程序。本文将详细介绍如何在 Ubuntu 系统上卸载旧版本 Docker、安装最新版本 Docker 以及进行相关配置。无论您是 Docker 新手还是有经验的用户,这份指南都将帮助您顺利完成安装和配置过程。
前置条件
- 一台运行 Ubuntu 的计算机(本文以 Ubuntu 20.04 为例)。
- 具有
sudo
权限的用户。
1. 卸载原有版本
在安装最新版本的 Docker 之前,建议先卸载系统中可能存在的旧版本,以避免冲突。
sudo apt-get remove docker docker-engine docker-ce docker.io
如果您需要删除所有的镜像、容器和卷(注意:如果是第一次安装,请忽略此步骤):
sudo rm -rf /var/lib/docker
备注:apt-get remove
会保留软件的配置文件。如果想彻底删除包括配置文件,请执行以下操作:
查看相关软件包是否有残余
dpkg -l | grep docker
使用 purge
清除配置文件
sudo apt-get purge docker-ce
2. 更新索引包
首先确保您的系统是最新的,以避免潜在的兼容性问题。
sudo apt update
sudo apt upgrade -y
3. 安装使用 HTTPS 传输的软件包
Docker 需要使用 HTTPS 来保证传输的安全性,因此需要安装相关的软件包。
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
4. 添加软件源的 GPG 密钥
为了确保下载的软件包的安全性,需要添加 Docker 官方的 GPG 密钥。您可以选择使用不同的镜像源:
中科大源
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
阿里云源
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
官方源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
注意:选择一个镜像源即可,无需同时添加多个源。
5. 向 sources.list
中添加 Docker 软件源
根据您选择的镜像源,执行相应的命令将 Docker 仓库添加到 APT 源列表中。
中科大源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
阿里源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
官方源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
说明:
$(lsb_release -cs)
会自动获取您的 Ubuntu 版本代号(例如focal
)。stable
表示使用 Docker 的稳定版本仓库。
6. 再次更新索引包
添加完新的 Docker 仓库后,需要再次更新 APT 包索引。
sudo apt-get update
7. 查看 Docker 版本
在安装 Docker 之前,您可以查看可用的 Docker 版本。
apt-cache madison docker-ce
这将显示所有可用的 Docker 版本及其详细信息。
8. 安装指定版本
您可以选择安装最新版本的 Docker,或者安装指定的 Docker 版本。
安装最新版本
sudo apt-get install docker-ce
安装指定版本
首先,使用之前的 apt-cache madison docker-ce
命令查看可用版本,然后选择一个版本进行安装。例如:
sudo apt-get install docker-ce=18.06.3~ce~3-0~ubuntu
说明:将 18.06.3~ce~3-0~ubuntu
替换为您选择的具体版本号。
9. 启动后台服务
安装完成后,启动 Docker 服务。
sudo service docker start
或者使用 systemctl
命令:
sudo systemctl start docker
10. 查看 Docker 版本信息
确认 Docker 已成功安装并运行。
docker version
这将显示 Docker 客户端和服务器的版本信息。
11. 镜像加速
为了加快 Docker 镜像的下载速度,尤其是在中国大陆用户,可以配置 Docker 使用国内的镜像加速器。新版的 Docker 使用 /etc/docker/daemon.json
来配置守护进程。
配置镜像加速
-
创建或编辑
/etc/docker/daemon.json
文件sudo nano /etc/docker/daemon.json
-
添加以下内容
以 Docker 中国官方加速器为例:
{"registry-mirrors": ["https://docker.1panel.live"] }
您也可以选择其他加速器,例如阿里云:
{"registry-mirrors": ["https://<your-accelerator-url>"] }
-
保存并关闭文件(在 Nano 中,按
Ctrl + O
保存,Ctrl + X
退出) -
重启 Docker 服务使配置生效
sudo service docker restart
或者使用
systemctl
命令:sudo systemctl restart docker
12. 添加当前用户到 Docker 组(可选)
默认情况下,运行 Docker 命令需要 sudo
权限。为了简化操作,您可以将当前用户添加到 docker
组中,从而无需每次都使用 sudo
。
创建 docker
组
sudo groupadd docker
将当前用户加入 docker
组
sudo usermod -aG docker $USER
检查用户是否成功加入 docker
组
cat /etc/group | grep docker
您应该会看到类似如下的输出,显示您的用户名在 docker
组中:
docker:x:999:yourusername
重启 Docker 服务
sudo systemctl restart docker
重新登录或重启系统
为了使组成员资格生效,您需要重新登录或重启系统。
总结
通过以上步骤,您已经成功在 Ubuntu 系统上卸载旧版本 Docker、安装最新版本 Docker,并进行了必要的配置,如镜像加速和用户权限设置。现在,您可以开始使用 Docker 进行容器化开发和部署了。
常见问题与解决方案:
- Docker 无法启动:检查 Docker 服务状态,确保服务正在运行。使用
sudo systemctl status docker
查看服务状态。 - 权限不足:确保您已将当前用户添加到
docker
组,并已重新登录。 - 镜像下载缓慢:配置 Docker 镜像加速器,以提高下载速度。
如果在安装或配置过程中遇到任何问题,欢迎在评论区留言或参考 Docker 官方文档 获取更多帮助。