Gebietsschema wird nicht in "locale -a" angezeigt, nachdem es mit "locale-gen" und "update-locale" hinzugefügt wurde

507
Paradoxis

Ich arbeite derzeit an einem Projekt, das das python:latestDocker-Image zum Ausführen von Tests verwendet, da mein Projekt die Verwendung der Gebietsschemas erfordert en_US.UTF-8und nl_NL.UTF-8ich sie in mein CI-Skript einfügen musste.

Jedes Mal, wenn ich versuche, sie hinzuzufügen, werden sie nicht in der Ausgabe des Gebietsschemas angezeigt (mein Code kann sie auch nicht verwenden). Weiß jemand, was ich hier falsch mache?

root@90a95fe4f532:/# locale -a C C.UTF-8 POSIX root@90a95fe4f532:/# locale-gen en_US.UTF-8 Generating locales (this might take a while)... Generation complete. root@90a95fe4f532:/# locale-gen nl_NL.UTF-8 Generating locales (this might take a while)... Generation complete. root@90a95fe4f532:/# update-locale root@90a95fe4f532:/# locale -a C C.UTF-8 POSIX root@90a95fe4f532:/# locale-gen nl_NL.UTF-8 Generating locales (this might take a while)... Generation complete. root@90a95fe4f532:/# locale -a C C.UTF-8 POSIX 

Ich habe mein Bild wie folgt eingerichtet:

$ docker pull python:latest $ docker create python:latest --name python $ docker run -it python /bin/bash 
0

1 Antwort auf die Frage

1
Ben Njeri

Das Gebietsschema lässt sich am besten über die Dockerfile- ENVEinstellungen festlegen .

Erstellen Sie eine Dockerfile mit dem Inhalt:

FROM python:latest RUN apt-get clean && apt-get update && 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 && \ locale-gen ENV LANG en_US.UTF-8  ENV LANGUAGE en_US:en  ENV LC_ALL en_US.UTF-8 

Erstellen Sie dann ein neues Bild aus einem Python-Andockbild. Wir werden diese v1 markieren

# docker build -t python:v1 . 

Test durch Laufen:

# docker run -it --rm --name test python:v1 /bin/bash 

Wenn Sie Ihr Gebietsschema überprüfen, sollte es die korrekten Einstellungen widerspiegeln.

root@ee85b63d6ddf:/# locale -a C C.UTF-8 en_US.utf8 POSIX 

Weitere Informationen über Aquasec Docker-Container Verwaltungshandbücher, die die grundlegende Verwaltung für fortgeschrittene Themen abdecken.

Das Editieren der Datei locale.gen hat mir gereicht. Wir müssen das Gebietsschema nicht sofort festlegen. Fügen Sie sie einfach der Liste der verfügbaren hinzu. Danke :) Paradoxis vor 6 Jahren 0