docker ubuntu / bin / sh: 1: locale-gen: no encontrado

96

Puse los códigos de configuración regional a continuación en mi 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

pero me da el error

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

¿alguna idea?

Martillo
fuente
13
¿Quizás tengas que instalar localesusando sudo apt-get -y install locales?
edwinksl

Respuestas:

189

Gracias por tu comentario, edwinksl . Actualicé mi archivo docker a continuación, lo que resolvió el error de generación de configuración regional:

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
Martillo
fuente
26
Para mayor eficiencia, querrá evitar múltiples RUNdeclaraciones, especialmente cuando están estrechamente relacionadas como esta. Algo como RUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8crearía una sola capa en lugar de tres.
tripleee
8
Quizás update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8también sea útil askubuntu.com/a/505424/196423
koppor
Para mantener la cordura, querrá evitar esconder todos sus comandos juntos en una CORRIDA
mihai