docker ubuntu / bin / sh: 1: locale-gen: introuvable


96

J'ai mis les codes de paramètres régionaux ci-dessous dans mon 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

mais ça me donne l'erreur

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

une idée?


13
Peut-être devez-vous installer en localesutilisant sudo apt-get -y install locales?
edwinksl

Réponses:


189

Merci pour votre commentaire, edwinksl . J'ai mis à jour mon dockerfile ci-dessous, ce qui a résolu l'erreur 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

26
Pour plus d'efficacité, vous voudrez éviter les RUNdéclarations multiples , en particulier lorsqu'elles sont étroitement liées comme celle-ci. Quelque chose comme RUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8créerait une seule couche au lieu de trois.
tripleee

8
Peut update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8- être est également utile askubuntu.com/a/505424/196423
koppor

Pour garder la raison, vous voudrez éviter de cacher toutes vos commandes ensemble dans un seul RUN
mihai
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.