跳转至

Docker安装

清理旧版本

Bash
1
2
3
4
5
6
systemctl stop docker
yum list installed |grep docker  # 或者 rpm -qa|grep docker
yum remove containerd.io docker* -y
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
rm -rf /etc/docker

安装工具包

建议内核版本不低于3.10

Bash
1
2
3
4
5
6
7
8
yum install yum-utils \
    device-mapper-persistent-data \
    lvm2 \
    dnf-plugins-core

# device-mapper-persistent-data 是Linux下存储技术(DeviceMapper)的驱动
# lvm2 创建逻辑磁盘分区
# dnf-plugins-core RockyLinux包

添加yum源

Info

虽然这是 CentOS 的仓库,但由于 Rocky Linux 和 CentOS 之间存在兼容性,通常可以直接使用

Bash
# 官方的源
yum-config-manager --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# 国内仓库源
yum-config-manager --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 阿里源如果在更新中,可以替换成清华镜像
sed -i 's/mirrors.aliyun.com/mirrors.tuna.tsinghua.edu.cn/g' \
    /etc/yum.repos.d/docker-ce.repo

# 更新缓存
yum makecache --timer   # rocky
yum makecache fast  # centos

安装社区版Docker

Bash
1
2
3
4
5
6
7
8
# 查看版本
yum list docker-ce --showduplicates | sort -r
# 安装最新
yum install docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin
  • docker-ce: 免费社区版
  • docker-ce-cli: docker engine 命令界面
  • containerd.io: 容器运行基本组件,负责管理容器生命周期、镜像、存储管理
  • docker-buildx-plugin: 官方提供的构建工具,可快速高效构建镜像,支持跨平台
  • docker-compose-plugin: 容器编排插件

扩展,命令补全

Bash
# 1. 安装 bash-completion
sudo yum install -y bash-completion

# 2. 创建 Docker 补全文件
sudo curl -L \
    http://ghproxy.net/https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker \
    -o /etc/bash_completion.d/docker

# 3. 重新加载 bash 配置
source ~/.bashrc
# 或者重新登录终端

# 安装 docker-compose 补全(如果使用)
sudo curl -L \
    https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose \
    -o /etc/bash_completion.d/docker-compose

报错解决

Bash
1
2
3
4
5
6
7
8
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
docker-compose-plugin-2.27.1-1 FAILED                                          
https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-compose-plugin-2.27.1-1.el7.x86_64.rpm: [Errno -1] 软件包与预期下载的不符。建议:运行 yum --enablerepo=docker-ce-stable clean metadata
正在尝试其它镜像。

Error downloading packages:
  docker-compose-plugin-2.27.1-1.el7.x86_64: [Errno 256] No more mirrors to try.

提示安装docker-compose-plugin 错误,按照提示解决

软件包与预期下载的不符,可能源正在更新,我们可以手动下载安装

Bash
1
2
3
4
# 可以手动下载安装
wget https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/docker-compose-plugin-2.27.1-1.el7.x86_64.rpm
yum localinstall docker-compose-plugin-2.27.1-1.el7.x86_64.rpm 
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin