gpt4 book ai didi

docker - 如何在不重建镜像的情况下修改docker健康检查?

转载 作者:行者123 更新时间:2023-12-02 02:11:47 26 4
gpt4 key购买 nike

当前可以在使用 HEALTHCHECK 构建镜像时在 Dockerfile 中指定运行状况检查。操作说明。您可以指定要运行的命令、容器启动后运行第一次检查之前等待的时间 (--start-period)、运行运行状况检查的频率 (- -interval),等待健康检查完成的时间(--timeout),以及如果健康检查失败应重试多少次(--重试)。这一切都被烘焙到图像中,并且可以在本地可用的图像上使用docker检查来查看。

但是,docker run 似乎没有任何参数可以覆盖这些设置。如果您使用由执行运行状况检查的第三方构建的镜像,那么您将受到他们在创建镜像时决定(或未决定)的影响。例如,当运行状况检查过早超时时,这可能会出现问题,从而创建一个孤立进程,该进程将无限期地保留在容器和主机的 PID 表中。由于频繁的运行状况检查经常会超时,PID 表可能会在几天内填满(尽管可以通过 docker run 上的 --init 标志来缓解该特定问题) >).

有没有办法覆盖图像的运行状况检查设置,或完全禁用运行状况检查而不重建它?

最佳答案

看来您可以覆盖图像默认值:https://docs.docker.com/engine/reference/run/#healthcheck

docker run 的运行状况检查参数是:

  --health-cmd            Command to run to check health
--health-interval Time between running the check
--health-retries Consecutive failures needed to report unhealthy
--health-timeout Maximum time to allow one check to run
--health-start-period Start period for the container to initialize before starting health-retries countdown
--no-healthcheck Disable any container-specified HEALTHCHECK

关于docker - 如何在不重建镜像的情况下修改docker健康检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53772248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com