尝试使用microdnf将git安装到Redhat UBI 8最小映像中失败。我认为问题出在git需要的shadow-utils的安装上。尝试单独安装shadow-utils也会失败。我安装其他常见的构建环境工具没有问题,直到我将git添加到列表中,它开始在shadow-utils上失败。
我可以通过使用非最小映像和安装yum而不是microdnf来解决这个问题。不过,这似乎应该行得通。有没有人有一个解决方案,而不是使用一个更大的图像开始?
~$ docker run --rm -it registry.access.redhat.com/ubi8/ubi-minimal /bin/bash
[root@965febf561a2 /]# microdnf install shadow-utils
(microdnf:10): librhsm-WARNING **: 06:29:14.389: Found 0 entitlement certificates
(microdnf:10): librhsm-WARNING **: 06:29:14.390: Found 0 entitlement certificates
Downloading metadata...
Downloading metadata...
Downloading metadata...
Package Repository Size
Installing:
libsemanage-2.9-3.el8.x86_64 ubi-8-baseos 168.6 kB
shadow-utils-2:4.6-11.el8.x86_64 ubi-8-baseos 1.3 MB
Transaction Summary:
Installing: 2 packages
Reinstalling: 0 packages
Upgrading: 0 packages
Removing: 0 packages
Downgrading: 0 packages
Downloading packages...
Running transaction test...
Installing: libsemanage;2.9-3.el8;x86_64;ubi-8-baseos
Installing: shadow-utils;2:4.6-11.el8;x86_64;ubi-8-baseos
error: Error -1 running transaction
我不确定,但我相信这是因为你的内核太老了。我有完全相同的问题,在内核3.13.0-151运行Docker 18.06-1的Ubuntu 14.04盒子上构建镜像。同样的Dockerfile可以在Ubuntu 16.04内核4.4.0-101上运行同样的Docker。我找不到这些主机的其他配置差异。