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

2017-04-23 14:23:22 +08:00
 kmm996

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

kmm996/proxy是只装了Caddy的镜像

dockerfile

build

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

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

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


你需要的东西,其实是一个自定义 entrypoint,在每次容器拉起来时,根据环境变量修改 caddyfile

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

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

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

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

© 2021 V2EX