docker ubuntu/bin/sh:1:locale gen:未找到

docker ubuntu/bin/sh:1:locale gen:未找到,ubuntu,docker,Ubuntu,Docker,我将下面的区域设置代码放入dockerfile中 FROM node:4-onbuild # Set the locale RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 但它给了我一个错误 /bin/sh: 1: locale-gen: not found The command '/bin/sh -c locale-gen en_US.UTF-8' r

我将下面的区域设置代码放入dockerfile中

FROM node:4-onbuild

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
但它给了我一个错误

/bin/sh: 1: locale-gen: not found
The command '/bin/sh -c locale-gen en_US.UTF-8' returned a non-zero code: 127
有什么想法吗

谢谢你的帮助。我在下面更新了dockerfile,解决了区域设置错误:

FROM node:4-onbuild

# Set the locale
RUN apt-get clean && apt-get update && apt-get install -y locales
RUN locale-gen en_US.UTF-8

localedef也很好用。

也许您必须使用
sudo apt get-y install locale
安装
locale
?为了提高效率,您需要避免使用多个
RUN
语句,尤其是当它们像这样密切相关时。类似于
RUN-apt-get-clean&&apt-get-y-update&&apt-get-install-y locales&&locale-gen-en_-US.UTF-8
会创建一个层而不是三个层。也许
update-locale LC_-ALL=en_-US.UTF-8 LANG=en_-US.UTF-8
也有助于保持您的理智,您会希望避免在一次运行中将所有命令都存储在一起
apt-get install -y locales
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8