系统信息

系统:openeuler 24.03 LTS

面板:宝塔面板 v12.0.0 稳定版

故障描述

在 openEuler 系统中,通过宝塔面板的应用商店创建容器一切正常,但使用在线镜像或本地镜像创建容器时,会提示“容器运行失败! device_requests param is not supported in API versions < 1.40”错误。

故障解析

该错误表明当前 Docker 版本过旧,API 版本低于 1.40,不支持 device_requests 参数,因此无法正常创建容器。

使用以下命令查看 Docker 版本:

docker version

重点关注 API 字段:宝塔面板要求 API 版本不低于 1.40,而当前环境为 1.39。

解决方法

卸载旧版本(可选)

建议先卸载旧版本,再安装新版本(此步骤可选,也可以直接覆盖安装)。

dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

配置 Docker CE 仓库(华为云镜像)

Docker 官方仓库在国内访问速度较慢,推荐配置华为云镜像仓库以加速下载。

dnf config-manager --add-repo=https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo

替换为华为云地址并调整参数

将下载地址替换为华为云,并把 $releasever 变量强制替换为 8(openEuler 24.03 与 CentOS 8 兼容):

sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sed -i 's+$releasever+8+' /etc/yum.repos.d/docker-ce.repo

确认路径已更改

确认仓库路径已变为 centos/8/:

grep baseurl /etc/yum.repos.d/docker-ce.repo

安装Docker

刷新缓存并安装 Docker CE 及配套组件:

dnf clean all && dnf makecache
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

启动并验证

安装完成后,启动 Docker 服务并验证版本:

systemctl enable --now docker
docker version

此时 API 版本已升级为 1.45,重新创建容器即可正常,不再提示之前的错误。

声明

本文部分内容参考自公开网络资料,部分内容由 AI 辅助生成,仅供学习与交流参考。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐