在 docker 图像中生成所有语言环境
Generate all locales in a docker image
如何在基于 debian/ubuntu 的 docker 图像中生成所有语言环境?
locale-gen
不接受 -A
/--all
选项,如下所述:http://www.linuxhowtos.org/manpages/8/locale-gen.htm.
dpkg-reconfigure locales
有一个选项可以在交互模式下生成所有语言环境,但这在 Dockerfile 中不可用。
仅仅生成英语或一组固定的语言是不够的,而且听起来也不正确。
在 /etc/locale.gen
中我找到了提示,即 /usr/share/i18n/SUPPORTED
列出了所有支持的语言环境代码。从 https://people.debian.org/~schultmc/locales.html and https://wiki.debian.org/Locale 开始,将所有需要的代码添加到 /etc/locale.gen
和 运行 locale-gen
应该就足够了。所以这是我的解决方案:
RUN cp /usr/share/i18n/SUPPORTED /etc/locale.gen
RUN locale-gen
只需在 docker 容器中通过包 locales-all
安装预编译的语言环境数据。这也减少了构建时间,因为不必生成语言环境,请参阅 /var/lib/dpkg/info/locales.postinst
.
中的代码
RUN echo 'locales locales/locales_to_be_generated multiselect All locales' | debconf-set-selections && dpkg-reconfigure --frontend=noninteractive locales
等技巧对我也不起作用。
如何在基于 debian/ubuntu 的 docker 图像中生成所有语言环境?
locale-gen
不接受 -A
/--all
选项,如下所述:http://www.linuxhowtos.org/manpages/8/locale-gen.htm.
dpkg-reconfigure locales
有一个选项可以在交互模式下生成所有语言环境,但这在 Dockerfile 中不可用。
仅仅生成英语或一组固定的语言是不够的,而且听起来也不正确。
在 /etc/locale.gen
中我找到了提示,即 /usr/share/i18n/SUPPORTED
列出了所有支持的语言环境代码。从 https://people.debian.org/~schultmc/locales.html and https://wiki.debian.org/Locale 开始,将所有需要的代码添加到 /etc/locale.gen
和 运行 locale-gen
应该就足够了。所以这是我的解决方案:
RUN cp /usr/share/i18n/SUPPORTED /etc/locale.gen
RUN locale-gen
只需在 docker 容器中通过包 locales-all
安装预编译的语言环境数据。这也减少了构建时间,因为不必生成语言环境,请参阅 /var/lib/dpkg/info/locales.postinst
.
RUN echo 'locales locales/locales_to_be_generated multiselect All locales' | debconf-set-selections && dpkg-reconfigure --frontend=noninteractive locales
等技巧对我也不起作用。