[Docker] 基于CENTOS7安装Docker环境

1 序言

1.1 环境准备

  • CENTOS 7
# hostnamectl

# 或
# cat /etc/system-release

2 安装步骤

Step1.1 升级 YUM 仓库

使用 root 权限更新 yum 仓库

生产环境中此步操作需慎重,看自己情况,学习的话随便搞

yum -y update

延申

yum -y update
  # 升级所有包同时也升级软件和系统内核

yum -y upgrade
  # 只升级所有包,不升级软件和系统内核

Step1.2 卸载Docker旧版本

如果之前安装过的话

yum remove docker  docker-common docker-selinux docker-engine

Step1.3 安装 Docker

Step1.3.1 安装需要的软件包

yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

Step1.3.2 设置 yum

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
  # 中央仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  # 阿里仓库

Step1.3.3 选择docker版本并安装

  • 查看可用版本有哪些
yum list docker-ce --showduplicates | sort -r

  • 选择一个版本并安装

yum install docker-ce-版本号

# 默认安装的是最高版本 25.0.3-1.el7
yum -y install docker-ce-25.0.3-1.el7
## yum -y install docker-ce-18.06.3.ce-3.el7
## 注:版本号是 25.0.3-1.el7, 而非 3:25.0.3-1.el7

# 如下指令,可暂忽略:
# yum -y install docker-ce-cli:
# yum -y install containerd.io

出现下图说明安装成功

whereis docker

或者 输入 docker version 看到如下显示就安装成功了

docker version

Step1.3.4 启动 Docker 并设置开机自启

systemctl start docker
systemctl enable docker

systemctl status docker

Y FAQ

Q: 安装docker-ce失败,报若干个依赖报的版本不匹配错误:错误:软件包:3:docker-ce-26.1.4-1.el7.x86_64 (docker-ce-stable) 需要:container-selinux >= 2:2.7 ...

问题描述

[root@vmw-e ~]# yum install -y docker-ce docker-ce-cli containerd.io
已加载插件:langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.6.33-3.1.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 containerd.io-1.6.33-3.1.el7.x86_64 需要
---> 软件包 docker-ce.x86_64.3.26.1.4-1.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 3:docker-ce-26.1.4-1.el7.x86_64 需要
--> 正在处理依赖关系 docker-ce-rootless-extras,它被软件包 3:docker-ce-26.1.4-1.el7.x86_64 需要
---> 软件包 docker-ce-cli.x86_64.1.26.1.4-1.el7 将被 安装
--> 正在处理依赖关系 docker-buildx-plugin,它被软件包 1:docker-ce-cli-26.1.4-1.el7.x86_64 需要
--> 正在处理依赖关系 docker-compose-plugin,它被软件包 1:docker-ce-cli-26.1.4-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.6.33-3.1.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 containerd.io-1.6.33-3.1.el7.x86_64 需要
---> 软件包 docker-buildx-plugin.x86_64.0.0.14.1-1.el7 将被 安装
---> 软件包 docker-ce.x86_64.3.26.1.4-1.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2:2.74,它被软件包 3:docker-ce-26.1.4-1.el7.x86_64 需要
---> 软件包 docker-ce-rootless-extras.x86_64.0.26.1.4-1.el7 将被 安装
--> 正在处理依赖关系 fuse-overlayfs >= 0.7,它被软件包 docker-ce-rootless-extras-26.1.4-1.el7.x86_64 需要
--> 正在处理依赖关系 slirp4netns >= 0.4,它被软件包 docker-ce-rootless-extras-26.1.4-1.el7.x86_64 需要
---> 软件包 docker-compose-plugin.x86_64.0.2.27.1-1.el7 将被 安装
--> 解决依赖关系完成
错误:软件包:3:docker-ce-26.1.4-1.el7.x86_64 (docker-ce-stable)
          需要:container-selinux >= 2:2.74
错误:软件包:docker-ce-rootless-extras-26.1.4-1.el7.x86_64 (docker-ce-stable)
          需要:slirp4netns >= 0.4
错误:软件包:docker-ce-rootless-extras-26.1.4-1.el7.x86_64 (docker-ce-stable)
          需要:fuse-overlayfs >= 0.7
错误:软件包:containerd.io-1.6.33-3.1.el7.x86_64 (docker-ce-stable)
          需要:container-selinux >= 2:2.74
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

问题分析

  • 尝试添加 --skip-broken 选项来解决该问题:亲测无效
[root@vmw-e ~]# yum install -y docker-ce --skip-broken
  • 依赖包的版本冲突

解决方法

  • step1 备份或移除 /etc/yum.repo.d/目录下的源
mv /etc/yum.repos.d/repo_local.repo /etc/yum.repos.d/repo_local.repo.bak
mv ... (略) 
  • step2 添加新的源
# 阿里云的 Docker-CE 源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 阿里云的 Centos-7.repo 源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

ls -la /etc/yum.repos.d
  • step3 再安装 docker-ce 即可
# yum -y install docker-ce-25.0.5-1.el7

参考文献

X 参考文献

posted @ 2023-05-29 00:51  千千寰宇  阅读(215)  评论(0编辑  收藏  举报