Docker:通过Windows服务读取环境变量

时间:2018-12-12 17:47:07

标签: windows docker service dockerfile

我的docker映像有一个小问题,我想了解它的问题所在。

我基于microsoft / aspnet创建了一个简单的docker映像,该映像声明了一个环境变量:

ENV JAVA_HOME docker_file_value

我尝试通过Windows服务读取它。

服务跟踪环境变量:

System.IO.File.WriteAllText(@"C:\log.txt", System.Environment.GetEnvironmentVariable("JAVA_HOME"));

我的问题是服务记录的值与 HOST 中的环境变量匹配,而不与容器(C:\ Program文件...)中的环境变量匹配。 / p>

这是正常现象吗?

这是我的Dockerfile:

FROM microsoft/aspnet

ENV JAVA_HOME docker_file_value

ADD EchoEnv.exe /EchoEnv.exe

CMD sc.exe create EchoEnv binPath='c:\EchoEnv.exe' && sc start EchoEnv && c:\servicemonitor.exe w3svc && powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';

ENTRYPOINT ["cmd", "/c"]

0 个答案:

没有答案