Saltar al contenido

¿Cómo configurar la configuración regional dentro de un contenedor Debian/Ubuntu Docker?

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *