docker ubuntu / bin / sh: 1: locale-gen: non trovato


96

Ho inserito i codici delle impostazioni locali di seguito nel mio 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

ma mi dà l'errore

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

qualche idea?


13
Forse devi installare localesusando sudo apt-get -y install locales?
edwinksl

Risposte:


189

Grazie per il tuo commento, edwinksl . Ho aggiornato il mio dockerfile di seguito che ha risolto l'errore 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
Per efficienza ti consigliamo di evitare più RUNaffermazioni, soprattutto quando sono strettamente correlate come questa. Qualcosa di simile RUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8creerebbe un singolo strato invece di tre.
tripleee

8
Forse update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8è anche utile askubuntu.com/a/505424/196423
koppor

Per mantenere la tua sanità mentale, ti consigliamo di evitare di mettere insieme tutti i tuoi comandi in una sola
corsa
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.