如何更改Fedora Docker容器上的区域设置?
在普通服务器上,例如Linode VPS上,我通常会执行以下操作:如何更改Fedora Docker容器上的区域设置?,docker,fedora,Docker,Fedora,在普通服务器上,例如Linode VPS上,我通常会执行以下操作: localectl set-locale LANG=<locale>.utf8 timedatectl set-timezone <timezone> 现在,我的目标是在不使用systemd的情况下更改这些设置,但这种方法似乎没有文档记录。是否有非系统配置工具的参考资料?关于arch wiki中语言环境设置的一些文档: 在Dockerfile中,将LANG调整到所需的区域设置。您可以在/etc/loca
localectl set-locale LANG=<locale>.utf8
timedatectl set-timezone <timezone>
现在,我的目标是在不使用systemd的情况下更改这些设置,但这种方法似乎没有文档记录。是否有非系统配置工具的参考资料?关于arch wiki中语言环境设置的一些文档: 在Dockerfile中,将
LANG
调整到所需的区域设置。您可以在/etc/locale.gen
中添加多个区域设置,以便以后进行选择
适用于debian、arch,但在fedora上未命中
ENV LANG=en_US.utf8
RUN echo "$LANG UTF-8" >> /etc/locale.gen
RUN locale-gen
RUN update-locale --reset LANG=$LANG
更通用的是localedef
,也适用于fedora:
ENV LANG=en_US.UTF-8
localedef --verbose --force -i en_US -f UTF-8 en_US.UTF-8
将其放入您的
Dockerfile
ENV TZ=America/Denver
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
从根目录编辑.bash_profile或.bashrc并添加以下内容
TZ='Asia/Kolkata'
export TZ
保存文件并在完成后提交图像。基于sti base中使用的一种技术,我提出了以下解决方法:
BASH_ENV
包括非交互式BASH
会话,ENV
包括sh
会话,PROMPT_命令
包括交互式BASH
会话
这似乎是Debian与locale gen的等价物:
RUN localedef -v -c -i fr_FR -f UTF-8 fr_FR.UTF-8 || true
# Set a useful default locale
RUN echo "export LANG=en_US.utf-8" > /opt/export_LANG.sh
ENV BASH_ENV=/opt/export_LANG.sh \
ENV=/opt/export_LANG.sh \
PROMPT_COMMAND="source /opt/export_LANG.sh"
RUN localedef -v -c -i fr_FR -f UTF-8 fr_FR.UTF-8 || true