在RHEL容器中安装“en_US”[关闭]

问题描述 投票:2回答:1

我正在使用molecule测试一个ansible角色。这个角色安装了一个我无法洞察的公司二进制文件,我只是对./binary --silent的意思,就是这样。在RedHat上。

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

错误消息说:

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

VM上的容器可能会丢失什么?一些localedef ......?我无法找到关于此的文档,但是有一些关于它们“从ISO最小安装”虚拟机和容器之间的增量的RedHat描述吗?

谢谢你的帮助

docker redhat redhat-containers
1个回答
1
投票

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

C
en_US.utf8
POSIX

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

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(不带任何后缀)。

© www.soinside.com 2019 - 2024. All rights reserved.