【问题标题】:how to access environment variables in Windows Docker healthcheck script如何在 Windows Docker 运行状况检查脚本中访问环境变量
【发布时间】: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


    【解决方案1】:

    原来这是一个错误: https://github.com/moby/moby/issues/31366

    这已在版本 17.04 中得到解决,我可以确认。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 2019-10-20
      • 2021-12-02
      • 2015-03-11
      • 1970-01-01
      • 2018-09-28
      • 2021-11-20
      相关资源
      最近更新 更多