【发布时间】:2017-05-12 23:20:02
【问题描述】:
我在 Windows 上运行 docker,并且我有以下运行状况检查指令:
HEALTHCHECK --interval=20s \
--timeout=5s \
CMD powershell C:\\healthcheck.ps1
在 healthcheck.ps1 脚本中,我想访问 ${env:something} 值,但那里是空的。我将 Get-ChildItem Env: 添加到 healthcheck.ps1 脚本以列出变量以查看 env 的样子,并且在启动期间我没有传递给容器的变量。有趣的是 - 当我使用“docker exec”进入容器时,我可以看到这个变量,甚至可以从容器内部手动启动运行状况检查脚本按预期工作,并且变量在那里可见。当 docker 尝试执行健康检查时,它就不起作用了。
我在 linux 上有一个类似的 dockerfile,当然它工作得很好。
所以我的问题是 - Windows 上有什么不同?我怎样才能做到这一点?甚至可以在运行状况检查脚本中访问 Windows 上的环境变量吗?
【问题讨论】:
标签: windows powershell docker