sles12 docker 上的语言环境命令失败

Posted

技术标签:

【中文标题】sles12 docker 上的语言环境命令失败【英文标题】:locale command failing on sles12 docker 【发布时间】:2018-07-09 10:37:49 【问题描述】:

我正在尝试将组件设置为 Docker。组件检查区域设置是否正确,否则组件安装失败。在我的情况下,语言环境在 Sles 12 上构建 docker 时抛出错误

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

我尝试在 Dockerfile 中设置 LANG 环境变量,仍然没有帮助 我应该怎么做才能解决这个问题?

【问题讨论】:

使用locale-gen 生成语言环境? 【参考方案1】:

正如下面链接中提到的,默认情况下,所有语言环境都不能用于减小图像的大小。

您可以使用安装所有语言环境

zypper -n in -f glibc-locale

https://github.com/openSUSE/docker-containers-build/issues/12

【讨论】:

以上是关于sles12 docker 上的语言环境命令失败的主要内容,如果未能解决你的问题,请参考以下文章

Power8 上的 SLES 12 缺少 libuuid1-devel 包

如何在 sles 12 中安装 docker?

Docker:如何避免 Docker 容器中不允许的操作?

使用 SLES15 和 *Suse Container 时在 Docker Container 中没有访问权限

如何在 SLES 12 中自动完成命令的选项?

Docker 拉取镜像失败处理