Contamos con tu apoyo para extender nuestros tutoriales sobre las ciencias de la computación.
Solución:
Ponga en su Dockerfile algo adaptado de
# Set the locale
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen &&
locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
Si ejecuta Debian o Ubuntu, también necesita instalar locales
tener locale-gen
con
apt-get -y install locales
esto se extrae del muy buen post sobre ese tema, de
http://jaredmarkell.com/docker-and-locales/
Aquellos que usan Debian también tienen que instalar locales
paquete.
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen &&
dpkg-reconfigure --frontend=noninteractive locales &&
update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8
Esta respuesta me ayudó mucho.
Solo agrega
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
en su Dockerfile. (Es posible que deba asegurarse de que el locales
el paquete está instalado.) No se necesita nada más para la operación básica. Mientras tanto, fuera de Ubuntu, locale-gen
no acepta ningún argumento, es por eso que ninguno de los ‘arreglos’ que lo usan funciona, por ejemplo, en Debian. Ubuntu ha parcheado locale-gen
aceptar una lista de locales para generar pero el parche por el momento no ha sido aceptado en Debian ni en ningún otro lugar.
valoraciones y comentarios
Nos puedes defender nuestra ocupación exponiendo un comentario o puntuándolo te damos la bienvenida.