请教 dockerfile 的 env 写法

7 天前
 KINGWAY

请问下面如何作为一个可选开关写到配置文件中?

Setup Chinese Language Env

RUN echo "export LANG=zh_CN.UTF-8" >> /etc/profile
&& echo "export LANGUAGE=zh_CN.UTF-8" >> /etc/profile
&& echo "export LC_ALL=zh_CN.UTF-8" >> /etc/profile

1200 次点击
所在节点    Docker
12 条回复
julyclyde
7 天前
首先你放到 profile 就不对吧
你明白 profile 啥场景生效吗
KINGWAY
7 天前
@julyclyde 所以请教啊,我想放到 env 中如何修改?目前我是用下面方法解决的

RUN set -eux; \
apk add --no-cache \
font-isas-misc \
supervisor \
mysql-client \
chromium \
ttf-freefont \
font-noto-cjk \
ttf-dejavu \
bash \
&& apk add --no-cache --virtual .build-deps \
wget \
&& rm -rf /var/cache/apk/*

# Make sure Chinese fonts installed
RUN mkfontscale && mkfontdir && fc-cache -fv
yin1999
7 天前
区域设置本身就是用环境变量设置的,为啥不直接用 ENV 指令: https://docs.docker.com/reference/dockerfile/#env
photon006
7 天前
在 docker-compose.yml 中添加环境变量
...
environment:
- Language=${LANGUAGE}
...

启动时:
LANGUAGE=chinese docker compose up -d


当然你的程序要在 docker 内部解析这个环境变量的值作对应处理
KINGWAY
7 天前
@yin1999 就是打算用环境变量, 就是再问具体的 env 指令如何实现。
meiguozhiguang
7 天前
4 楼写的非常清楚了,实验下,我觉得不错
jiangzm
7 天前
三楼不是给了链接吗,还纠结啥呢? 是语言没生效还是环境变量没生效呢
KINGWAY
7 天前
@photon006

当然你的程序要在 docker 内部解析这个环境变量的值作对应处理, 我就是对这个如何实现不太清楚,请问有具体的样例可以学习吗?
ginakira
7 天前
@KINGWAY 这不文档都给你贴出来了吗……
julyclyde
7 天前
@ginakira refuse to RTFM 是新常态
KINGWAY
5 天前
@julyclyde #10 你这个 RTFM 缩写我根本不知道什么意思?也懒得去搜索, 只是想起来那些印度阿三整天操的缩写,喃喃自语的。
julyclyde
5 天前
@KINGWAY 对对,就是这种症状

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1051867

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX