RHEL7服务器安装docker-ce时缺少fuse-overlayfs≥0.7依赖问题求助
RHEL 7 安装 docker-ce 依赖缺失问题解决
问题根因
当前依赖链路存在两层未满足的要求:docker-ce的附属功能组件docker-ce-rootless-extras,要求安装不低于0.7版本的fuse-overlayfs;而fuse-overlayfs本身依赖fuse3-libs提供的libfuse3动态库。之前手动单独安装fuse-overlayfs的rpm包时,没有同步安装底层的fuse3-libs依赖,才会触发动态库缺失的报错。
方案一:完整安装所有组件
需要使用docker rootless无特权运行功能的场景,按以下步骤拉全所有层级依赖:
- 先通过yum自动匹配安装两级依赖包,避免手动单装rpm导致的依赖缺失问题,执行命令:
sudo yum install fuse3-libs fuse-overlayfs - 若执行命令时提示找不到上述两个包,先启用RHEL7自带的extras扩展软件源,执行:
sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
源启用完成后重新执行上面的依赖安装命令即可。 - 依赖安装完成后,重新执行docker-ce安装命令:
sudo yum install docker-ce
yum会自动识别已经满足版本要求的fuse-overlayfs依赖,完成全流程安装。
注意:不要单独手动下载fuse-overlayfs的rpm包执行安装,这种方式不会自动拉取它依赖的libfuse3动态库组件,会重复出现libfuse3.so.3缺失的报错,优先使用yum的自动依赖解析能力安装更稳定。
方案二:跳过非必要组件完成核心docker安装
如果日常使用仅需要root权限下的常规docker容器运行功能,不需要用到docker支持的普通用户无特权运行容器的能力,可以直接跳过带依赖问题的附属组件,无需额外安装fuse相关依赖:
- 执行安装命令时精准排除非必要组件,不要使用全局的
--skip-broken参数跳过所有异常包,该操作容易误跳过核心组件导致docker功能异常:sudo yum install docker-ce --setopt=exclude=docker-ce-rootless-extras - 排除该组件后,剩余的依赖校验流程可正常通过,完成docker核心服务的安装,不影响镜像拉取、容器启停、网络配置等常规功能的使用。
内容的提问来源于stack exchange,提问作者Exploring
相关产品推荐
相关产品推荐

