如何在特定环境中解决 microdnf(因 glib 错误而失败)?

如何在特定环境中解决 microdnf(因 glib 错误而失败)?

该问题在 CI/CD 环境中被发现 - 它们是一组基于 redhat 7.9(docker 19.x)的服务器机器

尝试运行 docker build 时以下行失败:

RUN microdnf install yum

我们使用 redhat 镜像 (redhat/ubi9-minimal) 作为基础镜像。上面的命令就是在该镜像上运行的。

错误:

(microdnf:6): GLib-ERROR **: 14:57:32.900: file ../glib/gthread-posix.c: line 1338 (g_system_thread_new): error 'Operation not permitted' during 'pthread_create'

我们在其他 docker 服务器(centos 7,docker 20.x)上尝试了同样的操作,并且成功了。

因为这在这些机器上运行良好,所以我怀疑某些主机操作系统存在差异

我怀疑这是因为 docker 19.x。这是因为 redhat/ubi9-minimal 镜像和 docker 19.x 。(我已经另外确认了这一点)。

我该怎么做才能修复 CI/CD 机器?

答案1

检查您安装的 docker 引擎。我遇到了同样的错误,但在将 docker-ce 升级到 24.0.5 后解决了该问题。就我而言,“apt update && apt upgrade docker-ce” 就解决了问题。

升级后应如下所示:

$ docker system info
Client: Docker Engine - Community
Version:    24.0.5

相关内容