【发布时间】:2021-06-10 18:09:56
【问题描述】:
我正在尝试传递环境变量以从 docker 容器内的 XML 文件中读取,该容器运行广泛的应用程序服务并托管在 REHL 7 映像中。
到目前为止我做了什么:
-
我已经创建了一个环境文件作为键值对,例如:
FILESERVICE_MAX_POOL_SIZE=5 -
我通过引用环境文件来运行docker:
docker run -d --env-file ./ENV_VARIABLES <myImage> -
在 Dockerfile 中,我复制了我需要的 xml 模板:
COPY dockerfiles/standalone.xml /opt/wildfly/standalone/configuration/standalone.xml -
在 XML 模板中,我尝试引用环境变量:
<max-pool-size>${env.FILESERVICE_MAX_POOL_SIZE}</max-pool-size>
我可以以 root 身份查看运行容器中的那些环境变量,但不能以需要它们的用户身份查看。如何使属性对 root 以外的特定用户可见?
很明显我在这里做错了什么只是不确定是什么?
提前感谢您的帮助。
【问题讨论】:
-
你的图片基于什么?
-
它基于 REHL 7,我也更新了问题
-
您如何在容器中测试 root 与用户?请包括两个运行命令和每个命令的 env 输出。
-
通过提升为 root 并确保我是 whoami 的 root。然后我以 root 身份运行 env 并看到属性。然后我运行 su - wildfly 并重复该过程
标签: docker dockerfile