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

小弟初学 docker,请教一个 ENV 问题

  •  
  •   kmm996 · 2017-04-23 14:23:22 +08:00 · 4112 次点击
    这是一个创建于 2800 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟想用 Caddy 建个反代的 docker ,但是 env 变量写入文件一直没有变,不知什么原因,大牛们指点指点

    kmm996/proxy是只装了Caddy的镜像

    dockerfile Markdown

    build Markdown

    之后进入 docker 发现变量 proxy 还是没变

    Markdown

    Markdown

    4 条回复    2017-05-11 11:38:13 +08:00
    leopku
        1
    leopku  
       2017-04-23 21:40:21 +08:00
    取值的时候换成 ${PROXY} 试试
    RW667
        2
    RW667  
       2017-04-24 12:00:42 +08:00
    ENV 貌似在 Dockerfile BUILD 的时候是不生效的 。。。
    要 RUN 起来才行。。
    aliciahan
        3
    aliciahan  
       2017-05-03 17:56:03 +08:00
    Build 的时候有 Label 吧。。。如果没记错的话。 甚至可以用 external 引用系统用的 env
    l142857
        4
    l142857  
       2017-05-11 11:38:13 +08:00
    --env 是生效的,你 docker exec 进容器执行下 echo $PROXY 就知道了。

    caddyfile 是你构建镜像的时候就已经生成好的一个文件,里边的内容不会因为这次 docker run 而改变。否则的话,一个镜像内那么多脚本中用到环境变量,那这些文件的内容也太难控制了。


    你需要的东西,其实是一个自定义 entrypoint,在每次容器拉起来时,根据环境变量修改 caddyfile
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2731 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:43 · PVG 17:43 · LAX 01:43 · JFK 04:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.