2

我正在使用分子测试 ansible 角色。该角色安装了一个我不了解的公司二进制文件,我只是故意的,仅./binary --silent此而已。在 RedHat 上。

它适用于 RedHat 6.9 VM。但它不适用于 docker 容器 registry.access.redhat.com/rhel6:6.9。

错误消息说:

“操作系统语言错误(未找到 en_US)”。

VM 上的容器可能缺少什么?一些localedef ...?我无法找到关于此的文档,但是否有一些关于“从 ISO 最小安装”VM 和容器之间的增量的 RedHat 描述?

谢谢你的帮助

4

1 回答 1

1

如果您locale -a在使用的 Docker 映像上运行,您将获得以下输出:

C
en_US.utf8
POSIX

在您的 VM 中运行相同的命令并比较输出。如果它包含行(没有 utf-8 后缀),请尝试在您的指令en_US下方直接添加以下行:FROMDockerfile

RUN localedef -v -c -i en_US -f UTF-8 en_US; exit 0
RUN sed -i 's/en_US.UTF-8/en_US/g' /etc/sysconfig/i18n && source /etc/sysconfig/i18n

这将生成使用名为 en_US 的 UTF-8 编码(不带任何后缀)的语言环境 en_US。

于 2018-06-28T08:18:28.203 回答