docker ubuntu / bin / sh: 1: locale-gen: не знайдено


96

Я помістив коди локальних налаштувань нижче у свій файл docker,

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

будь-яка ідея?


13
Можливо, вам доведеться встановити localesза допомогою sudo apt-get -y install locales?
edwinksl

Відповіді:


189

Дякуємо за ваш коментар, edwinksl . Я оновив свій файл docker нижче, який вирішив помилку локалі-ген:

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

26
Для ефективності ви хочете уникати декількох RUNтверджень, особливо коли вони тісно пов'язані, як це. Щось на зразок RUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8створить один шар замість трьох.
триплі

8
Можливо update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8, корисно також askubuntu.com/a/505424/196423
koppor

Для підтримки вашого розсудливості, ви хочете , щоб уникнути приховати все , що вам команди в одному RUN
Mihai
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.