J'ai installé un conteneur Ubuntu Trusty à l'aide de Docker, et lorsque je me connecte à celui-ci, je peux voir que les paramètres régionaux sont définis au strict minimum:
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=
J'ai besoin d'utiliser un environnement local Unicode (par exemple, l'anglais américain en_US.UTF-8
).
J'ai essayé de modifier le fichier / etc / default / locale et de le mettre à l'intérieur:
# cat /etc/default/locale
LANG=en_US.UTF-8
Mais même après avoir quitté le conteneur et revenir, les paramètres régionaux ne sont toujours pas correctement définis.
J'ai également essayé d'utiliser la update-locale
commande, sans succès:
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=
Sur ma configuration locale, j'ai la configuration suivante:
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=
Comment puis-je avoir la même chose dans mon conteneur Docker?
Merci d'avance!
sudo docker build .
) et cela fonctionne bien.J'utilise ceci dans mon
Dockerfile
:On peut également utiliser le
ENV
one-liner:la source
locale -a
indique que les paramètres régionaux ont été entièrement supprimés de l'image de base.locale-gen
le génère à nouveau et le rend disponible.dockerfile
? Peut-il être modifié pour l'image téléchargée?Dockerfile
dans votre répertoire de projet et utiliser laFROM
directive pour étendre une image existante. Ensuite, ajoutez simplement les lignes mentionnées. En savoir plus surDockerfile
icilocale-gen: not found
. Solution: stackoverflow.com/a/39761477/1743367Essayer
Si vous obtenez l'
unsupported locale setting
erreur et ne souhaitez pas installer de nouveaux paramètres régionaux.la source
docker-compose run --rm -e TERM=xterm -e LANG=C.UTF-8 worker bash
J'ai essayé cela et cela m'a aidé
Dockerfile
après mon image, j'ajouteet courir
la source