我的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"]