小弟想用 Caddy 建个反代的 docker ,但是 env 变量写入文件一直没有变,不知什么原因,大牛们指点指点
kmm996/proxy是只装了Caddy的镜像
dockerfile
build
之后进入 docker 发现变量 proxy 还是没变
1
leopku 2017-04-23 21:40:21 +08:00
取值的时候换成 ${PROXY} 试试
|
2
RW667 2017-04-24 12:00:42 +08:00
ENV 貌似在 Dockerfile BUILD 的时候是不生效的 。。。
要 RUN 起来才行。。 |
3
aliciahan 2017-05-03 17:56:03 +08:00
Build 的时候有 Label 吧。。。如果没记错的话。 甚至可以用 external 引用系统用的 env
|
4
l142857 2017-05-11 11:38:13 +08:00
--env 是生效的,你 docker exec 进容器执行下 echo $PROXY 就知道了。
caddyfile 是你构建镜像的时候就已经生成好的一个文件,里边的内容不会因为这次 docker run 而改变。否则的话,一个镜像内那么多脚本中用到环境变量,那这些文件的内容也太难控制了。 你需要的东西,其实是一个自定义 entrypoint,在每次容器拉起来时,根据环境变量修改 caddyfile |