Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encoding 在Docker容器中设置区域设置_Encoding_Docker_Jboss_Locale - Fatal编程技术网

Encoding 在Docker容器中设置区域设置

Encoding 在Docker容器中设置区域设置,encoding,docker,jboss,locale,Encoding,Docker,Jboss,Locale,我使用这个图像: registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat7-openshift 运行容器时,我的默认区域设置为: LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX

我使用这个图像:

registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat7-openshift
运行容器时,我的默认区域设置为:

LANG=
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=
我需要将此更改为
ISO-8859-15
我必须如何在dockerfile中执行此操作

我首先在运行时尝试以下方法:

# localedef -c -i fr_FR -f ISO-8859-15 fr_FR.ISO-8859-15
# export LANG="fr_FR.ISO-8859-15"
但当我退出容器并再次进入它时,它又回到POSIX

更新:我试过:

FROM registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat7-openshift:1.2-12
USER root
RUN localedef -c -i fr_FR -f ISO-8859-15 fr_FR.ISO-8859-15
RUN export LANG="fr_FR.ISO-8859-15"
但是,当我启动容器并执行
locale
时,我再次得到POSIX。

在Dockerfile中

FROM registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat7-openshift
RUN custom-command_to_change_local.sh
然后,您必须使用自定义名称构建一个新图像

docker build -t my_image .
好的,所以,您应该使用环境,而不是在Dockerfile中导出。 这个解决方案对我有效

FROM registry.access.redhat.com/jboss-webserver-3/webserver30-tomcat7-openshift:1.2-12

USER root
RUN localedef -c -i fr_FR -f ISO-8859-15 fr_FR.ISO-8859-15

ENV LANG fr_FR.ISO-8859-15
ENV LANGUAGE fr_FR:fr  
ENV LC_ALL fr_FR.ISO-8859-15 
我从本文中找到了解决方案,并适应了redhat OS

检查更新。我不是法国人(但我们有一些错误,在某些应用程序中“e”变成问号)