2016-09-29 11 views
42

я ставлю настройки кодов ниже локаль в мой dockerfile,докер убунту/бен/ш: 1: локаль поколения: не нашел

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 

любой идея?

+7

Возможно, вам нужно установить 'locales', используя' sudo apt-get -y install locales'? – edwinksl

ответ

76

Thanks for your comment, edwinksl. Я обновил свой файл докеров, который разрешил ошибку locale-gen:

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 
+16

Для эффективности вам нужно избегать нескольких операторов «RUN», особенно если они тесно связаны друг с другом. Что-то вроде 'RUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8' создаст один слой вместо трех. – tripleee

+1

Возможно, 'update-locale LC_ALL = en_US.UTF-8 LANG = en_US.UTF-8' также полезен https://askubuntu.com/a/505424/196423 – koppor

Смежные вопросы