当前位置:  开发笔记 > 编程语言 > 正文

Docker作为构建器,无法安装systemd头文件

如何解决《Docker作为构建器,无法安装systemd头文件》经验,为你挑选了1个好方法。

我正在尝试根据官方的CentOS7图像更新Docker镜像.它用作Node.js项目的构建器.

我需要添加systemd-devel用于编译某些依赖项的包,但是这会失败并出现以下错误:

fakesystemd-1-17.el7.centos.noarch has installed conflicts systemd: fakesystemd-1-17.el7.centos.noarch

谢谢



1> helmbert..:

fakesystemd是CentOS Docker映像中的一个特殊包,它满足了对Systemd的依赖,而没有实际安装Systemd(毕竟,你通常不需要容器中的init系统).yum info fakesystemd告诉我们更多:

最小的docker特定包,以满足systemd Provides:而无需在Docker镜像中安装systemd.它主要用于Docker镜像/容器.它不提供systemd包的任何功能 - 它只包含很少的重要目录和文件.fakesystemd绝对不适用于完全可启动的操作系统!

要在映像中安装real systemd,您需要以这种形式运行yum swap命令:

yum swap -- remove fakesystemd -- install systemd systemd-libs

您需要fakesystemd使用"真实" systemd包交换包,然后还可以安装systemd-devel:

RUN yum swap -y fakesystemd systemd && \
    yum install -y systemd-devel

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有