在Linux上安装和升级Docker¶
Docker 官网快捷安装¶
使用 Docker 官方提供的 Docker Shell 脚本可以快速在不同的操作系统上自动安装最新版本的 Docker。
# 获取 get-docker.sh 脚本
curl -fsSL get.docker.com -o get-docker.sh
# 下载安装最新的 Docker,同时使用 Aliyun 提供软件源镜像提供软件包下载
sh get-docker.sh --mirror Aliyun
# 启动 docker 服务,并设置开机启动
systemctl start docker
systemctl enable docker
注意网络联通性
虽然可以通过 --mirror Aliyun
来选择 Aliyun 软件源 https://mirrors.aliyun.com/docker-ce 进行软件下载,但是获取 get-docker.sh
脚本本身还是需要访问 Docker 官网,请注意你的网络是否可达。
使用脚本需要注意什么?
该脚本:
- 需要 root 或 sudo 权限运行
- 尝试自动检测您的 Linux 发行版和版本,并为您配置软件包管理系统
- 不允许自定义大多数安装参数
- 不询问确认直接安装所有依赖项和建议项
- 默认安装最新稳定版的 Docker CLI、Docker Engine、Docker Buildx、Docker Compose、containerd 和 runc。使用此脚本配置机器时,可能导致这些软件包发生意外的主版本升级。部署到生产系统前请务必在测试环境中验证升级
- 不适用于升级现有 Docker 安装。使用脚本更新现有安装时,依赖项可能不会升级到预期版本,导致使用过时的版本
RPM(YUM/DNF) 包安装¶
RPM包适合以下操作系统发行版本:
- CentOS
- Redhat
- Fedora
- 阿里云官方OS
- 腾讯云官方OS
- 华为云官方OS
- 麒麟系统
- UOS
- openEuler
- OpenCloudOS
- openKylin
- OpenAnolis
安装步骤¶
基于 Aliyun 的镜像中心进行安装,其他腾讯云、华为云等类似。
- 1: 安装必要的一些系统工具
- 2: 添加软件源信息
添加软件源配置会生成文件 /etc/yum.repos.d/docker-ce.repo
- 3: 安装Docker
- 4: 开启Docker服务
- 5: 设置开机启动docker
安装指定版本的Docker¶
官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
安装指定版本的Docker-CE:
Step 1: 查找Docker-CE的版本:
yum list docker-ce.x86_64 --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: branch, fastestmirror, langpacks
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Available Packages
Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
DEB(APT) 包安装¶
DEB包适合一下操作系统发行版本:
- Ubuntu
- Debian
- 优麒麟UbuntuKylin
安装步骤¶
基于 Aliyun 的镜像中心进行安装,其他腾讯云、华为云等类似。
- 1: 安装必要的一些系统工具
- 2: 信任 Docker 的 GPG 公钥
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
- 3: 写入软件源信息
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
- 4: 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
安装指定版本的Docker¶
安装指定版本的Docker-CE:
Step 1: 查找Docker-CE的版本:
apt-cache madison docker-ce
docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1ce-0ubuntu-xenial)
安装校验¶
通过执行 docker version
命令查看是否有正常返回判断是否安装成功
root@localhost:$ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: false
升级¶
升级前的准备工作¶
在进行Docker版本升级之前,必须做好以下准备工作:
- 备份配置和数据:确保所有重要的Docker配置文件和容器数据都已备份,以防止升级过程中数据丢失。
- 检查当前版本:使用
docker --version
命令查看当前Docker版本,并记录相关信息。 - 检查依赖项:确保操作系统和其他依赖项(如Docker Compose、Docker Machine等)与目标Docker版本兼容。
升级步骤¶
以 deb 包的升级为例,rpm 包类似
-
卸载旧版本:
-
安装新版本:
-
启动Docker服务:
升级校验¶
参考“安装校验”
回滚方案¶
如果升级过程中出现问题,可以按照以下步骤回滚到之前的版本:
-
卸载当前版本:
-
安装旧版本:
-
启动Docker服务: