Ich habe einen Ubuntu Trusty-Container mithilfe von Docker installiert und wenn ich eine Verbindung dazu herstelle, kann ich feststellen, dass das Gebietsschema auf das absolute Minimum festgelegt ist:
sudo docker run -i -t <id> /bin/bash
root@<id>:/# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Ich muss ein Unicode- Gebietsschema verwenden (z. B. das US-Englische en_US.UTF-8
).
Ich habe versucht, die Datei / etc / default / locale zu bearbeiten, und habe Folgendes eingefügt:
# cat /etc/default/locale
LANG=en_US.UTF-8
Aber auch nach dem Verlassen des Containers und der Rückkehr ist das Gebietsschema noch nicht richtig eingestellt.
Ich habe auch versucht, den update-locale
Befehl zu verwenden, ohne Erfolg:
root@cab13a6abe4f:/# update-locale LANG=en_US.UTF-8
root@cab13a6abe4f:/# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
In meiner lokalen Konfiguration habe ich die folgende Konfiguration:
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
Wie kann ich dasselbe in meinem Docker-Container haben?
Danke im Voraus!
sudo docker build .
) und es funktioniert einwandfrei.Ich benutze dies in meinem
Dockerfile
:Man kann auch den
ENV
Einzeiler verwenden:quelle
locale -a
zeigt an, dass das Gebietsschema vollständig aus dem Basis-Image entfernt wurde.locale-gen
generiert es erneut und stellt es zur Verfügung.dockerfile
? Kann es für heruntergeladene Bilder bearbeitet werden?Dockerfile
in Ihrem Projektverzeichnis erstellen und dieFROM
Direktive verwenden, um ein vorhandenes Bild zu erweitern. Dann hängen Sie einfach die genannten Zeilen an.Dockerfile
locale-gen: not found
. Lösung: stackoverflow.com/a/39761477/1743367Versuchen
Wenn Sie die
unsupported locale setting
Fehlermeldung erhalten und keine neuen Ländereinstellungen installieren möchten.quelle
docker-compose run --rm -e TERM=xterm -e LANG=C.UTF-8 worker bash
Ich habe es versucht und es hat mir geholfen,
Dockerfile
nachdem ich mein Bild hinzugefügt habeund Renn
quelle