该问题在 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