V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KINGWAY
V2EX  ›  Docker

请教 dockerfile 的 env 写法

  •  
  •   KINGWAY · 135 天前 · 1573 次点击
    这是一个创建于 135 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    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

    12 条回复
    julyclyde
        1
    julyclyde  
       135 天前
    首先你放到 profile 就不对吧
    你明白 profile 啥场景生效吗
    KINGWAY
        2
    KINGWAY  
    OP
       135 天前
    @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
        3
    yin1999  
       135 天前
    区域设置本身就是用环境变量设置的,为啥不直接用 ENV 指令: https://docs.docker.com/reference/dockerfile/#env
    photon006
        4
    photon006  
       135 天前
    在 docker-compose.yml 中添加环境变量
    ...
    environment:
    - Language=${LANGUAGE}
    ...

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


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

    当然你的程序要在 docker 内部解析这个环境变量的值作对应处理, 我就是对这个如何实现不太清楚,请问有具体的样例可以学习吗?
    ginakira
        9
    ginakira  
       135 天前
    @KINGWAY 这不文档都给你贴出来了吗……
    julyclyde
        10
    julyclyde  
       134 天前   ❤️ 1
    @ginakira refuse to RTFM 是新常态
    KINGWAY
        11
    KINGWAY  
    OP
       133 天前
    @julyclyde #10 你这个 RTFM 缩写我根本不知道什么意思?也懒得去搜索, 只是想起来那些印度阿三整天操的缩写,喃喃自语的。
    julyclyde
        12
    julyclyde  
       133 天前
    @KINGWAY 对对,就是这种症状
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1261 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:26 · PVG 07:26 · LAX 15:26 · JFK 18:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.