Debian Docker-Container Deutsche Lokalisierung

Debian Docker-Container Deutsche Lokalisierung

Standardmäßig sind Docker Images nicht lokalisiert. Je nach verwendeter ausgeführter Software kann dies ein Problem darstellen. Beispielsweise wenn die Zeitzone des Systemes genutzt wird, um Datum/Uhrzeit oder dessen Format zu ermitteln. Manche nutzen auch die Sprache des Betriebssystemes. Dieser Artikel zeigt, wie sich ein Container bzw. Image lokalisieren lässt.

Zeitzone verändern

Für die Zeitzone reicht es in der Regel aus, die Umgebungsvariable TZ zu setzen. Hierzulande auf Europe/Berlin. Andere Zeitzonen finden sich auf Debian basierten Systemen unter /usr/share/zoneinfo/ nach Kontinent gruppiert. Bei Verwendung des docker run Befehles kann die Umgebungsvariable einfach über den -e Schalter gesetzt werden.

Im Dockerfile kommt ENV zum Einsatz:

ENV TZ=Europe/Berlin

Sprachlokalisierung

Etwas umfangreicher gestaltete sich die sprachliche Lokalisierung. Hier müssen wir mehrere Pakete installieren sowie die entsprechende Sprache aktivieren.

ENV LANG de_DE.UTF-8
ENV LANGUAGE ${LANG}
ENV LC_ALL ${LANG}
# language-pack-de wird fuer die deutsche Zeitzone benoetigt: https://unix.stackexchange.com/a/197441/214989
# locale-gen generiert die Sprachdateien: https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
RUN apt-get update \
    && apt-get install -y tzdata locales language-pack-de \
    && locale-gen de_DE.UTF-8 \
    && ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime \
    && dpkg-reconfigure -f noninteractive tzdata

Leave a Reply