目录

Linux Centos、OpenCloud OS 安装 docker 教程

简介

什么是 docker?

本文基于 linux Centos 7、Centos 8 、OpenCloud OS 8/9 进行实操,带你一步一步的安装部署使用 docker ,并且解决常见安装过程的坑问题

一、清理

## 1. 移除以前docker相关包
sudo yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine \
                  docker-ce \
                  docker-ce-cli \
                  containerd.io

二、配置更新 yum 源

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#https://download.docker.com/linux/centos/docker-ce.repo

https://download.docker.com/linux/centos/docker-ce.repo 是官方镜像源, 如果是国内用户推荐使用:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

三、查看可用 Docker 版本

查看可用的版本,如果你有指定的版本,也可以查看你的 yum 源中是否有你需要的版本,如果没有,后续安装将会失败

yum list docker-ce --showduplicates | sort -r
yum list docker-ce-cli --showduplicates | sort -r

复制你要安装的 docker-ce 、docker-ce-cli 的版本

四、安装 docker

我这里安装的是 20.10 版本

sudo yum install -y docker-ce-20.10.8 docker-ce-cli-20.10 containerd.io

将版本替换成你需要的版本即可

如果安装报错:nothing provides container-selinux >= 2:2.74 needed 请移步文末【问题一】

验证

[root@master script]# docker info
Client:
 Context:    default
 Debug Mode: false
 ......

到这里就安装完成了……

五、配置(推荐)

docker 安装完成,需要再做一些配置,可以更优的使用 docker

(一)配置开机自启动

systemctl enable docker --now

(二)配置镜像加速器

强烈推荐,要不然 docker 下载依赖贼慢,可以解决 docker 依赖下载慢、docker 依赖下载失败错误等问题

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.3822334.xyz",
    "https://docker.1panel.live"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker

问题

一、安装报错:nothing provides container-selinux >= 2:2.74 needed

报错如下:

[root@VM-20-17-opencloudos init]# sudo yum install -y docker-ce-3:20.10.15-3.el9 docker-ce-cli-1:20.10.15-3.el9 containerd.io
Last metadata expiration check: 0:00:44 ago on Sun 22 Jun 2025 03:08:39 PM CST.
Error: 
 Problem: conflicting requests
  - nothing provides container-selinux >= 2:2.74 needed by docker-ce-3:20.10.15-3.el9.x86_64 from docker-ce-stable
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@VM-20-17-opencloudos init]# sudo yum install -y docker-ce-3:20.10.24-3.el9 docker-ce-cli-1:20.10.24-3.el9 containerd.io
Last metadata expiration check: 0:01:43 ago on Sun 22 Jun 2025 03:08:39 PM CST.
Error: 
 Problem: conflicting requests
  - nothing provides container-selinux >= 2:2.74 needed by docker-ce-3:20.10.24-3.el9.x86_64 from docker-ce-stable
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

这是因为 OpenCloudOS 9 缺少 container-selinux 依赖包造成的。OpenCloudOS 9 默认源中可能没有包含 Docker CE 所需的 SELinux 策略模块

以下是解决方法:优先尝试 OpenCloudOS 官方仓库安装

sudo dnf update -y
sudo dnf install -y docker  # OpenCloudOS 官方仓库可能已适配依赖