Dockerfile:创建用户可以看到的ENV变量?

标签 docker dockerfile

有没有办法在docker文件中为自定义USER设置ENV变量?

我正在尝试以下方法:

FROM some_repo/my_base_image
ENV FOO_VAR bar_value
USER webapp
# ... continued (not important)

但是我的“webapp”用户看不到“FOO_VAR”变量。但是,我的root用户可以。

任何帮助,将不胜感激。

最佳答案

任何用户都可以看到环境变量:

$ cat Dockerfile
FROM debian

ENV foo bar
RUN groupadd -r am && useradd -r -g am am
USER am
$ docker build -t test .
...
$ docker run test bash -c 'echo $foo'
bar

所以这不是问题所在。可能是您的流程创建了一个新环境,但是我不确定,因为您还没有共享如何检查值(value)的方法。

关于Dockerfile:创建用户可以看到的ENV变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32574429/

相关文章:

docker - 无法在Docker镜像中运行可执行文件:未找到错误

docker - 覆盖父 Docker 参数

linux - Docker 构建失败并显示 "RUN: command not found"

mysql - docker 和 mysql : Got an error reading communication packets

docker - 在 Dockerfile 和 docker-compose 中编写什么来传递本地包

docker - 有没有办法让Docker下载公共(public)镜像更快?

linux - 替代 Dockerfile 中的 git clone

docker - 配置Dockerfile在容器创建时使用impdp命令

ubuntu - docker 撰写内部错误 : cannot create temporary directory

linux - docker-compose 找不到合适的配置文件