【问题标题】:Docker healthcheck command not found inside container在容器内找不到 Docker 健康检查命令
【发布时间】:2019-12-16 09:05:45
【问题描述】:

我有以下 Dockerfile

FROM mongo

COPY docker-healthcheck /usr/local/bin/

HEALTHCHECK CMD ["docker-healthcheck"]

docker-healthcheck 看起来像这样:

#!/bin/bash
set -eo pipefail

host="$(hostname --ip-address || echo '127.0.0.1')"

if mongo --quiet "$host/test" --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'; then
    exit 0
fi

exit 1

虽然这与this example 完全相同,但运行状况检查会返回以下错误:
"Output": "OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused \"exec: \\\"docker-healthcheck\\\": executable file not found in $PATH\": unknown"

【问题讨论】:

    标签: mongodb docker docker-image docker-build


    【解决方案1】:

    docker-healthcheck 文件的权限错误。它们是 644 但应该是 755 以便 Docker 能够执行。

    chmod+x 755 docker-healthcheck
    

    再次构建映像后,运行状况检查开始工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-19
      • 2021-04-20
      • 2022-08-04
      • 2019-05-11
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 2019-02-28
      相关资源
      最近更新 更多