STATUS 中的“(健康)”字符串代表什么?
What does the "(healthy)" string in STATUS stands for?
STATUS 列中的“(健康)”字符串代表什么?
user@user:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
X X X X Up 20 hours X X
X X X X Up 21 hours (healthy) X X
https://ryaneschinger.com/blog/using-docker-native-health-checks/
通常它是您启动的东西,以启用 swarm 或其他服务来检查容器的健康状况。
IE:
$ docker run --rm -it \
--name=elasticsearch \
--health-cmd="curl --silent --fail localhost:9200/_cluster/health || exit 1" \
--health-interval=5s \
--health-retries=12 \
--health-timeout=2s \
elasticsearch
查看运行时启用的健康检查?
这是 HEALTHCHECK
instruction 的结果。该指令每 30 秒在容器内运行一个命令。如果命令成功,则容器被标记为健康。如果它失败太多次,它就会被标记为不健康。
您可以设置间隔、超时、重试次数和启动延迟。
例如,以下将检查您的容器是否每 5 分钟响应一次 HTTP,超时为 3 秒。
HEALTHCHECK --interval=5m --timeout=3s \
CMD curl -f http://localhost/ || exit 1
当健康状态发生变化时,您会收到一个 health_status
事件。您可以通过 docker events
.
关注那些和其他人
表示他们正在使用命令:healthcheck
https://docs.docker.com/engine/reference/builder/#healthcheck
当容器指定了健康检查时,它除了正常状态外还有健康状态。此状态最初为 starting。每当健康检查通过时,它就会变成 healthy(无论它之前处于什么状态)。连续失败一定次数后,变成不健康.
**starting** – Initial status when the container is still starting
**healthy** – If the command succeeds then the container is healthy
**unhealthy** – If a single run of the takes longer than the specified
timeout then it is considered unhealthy. If a health check fails then the
will run retries number of times and will be declared unhealthy
if the still fails.
STATUS 列中的“(健康)”字符串代表什么?
user@user:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
X X X X Up 20 hours X X
X X X X Up 21 hours (healthy) X X
https://ryaneschinger.com/blog/using-docker-native-health-checks/
通常它是您启动的东西,以启用 swarm 或其他服务来检查容器的健康状况。
IE:
$ docker run --rm -it \
--name=elasticsearch \
--health-cmd="curl --silent --fail localhost:9200/_cluster/health || exit 1" \
--health-interval=5s \
--health-retries=12 \
--health-timeout=2s \
elasticsearch
查看运行时启用的健康检查?
这是 HEALTHCHECK
instruction 的结果。该指令每 30 秒在容器内运行一个命令。如果命令成功,则容器被标记为健康。如果它失败太多次,它就会被标记为不健康。
您可以设置间隔、超时、重试次数和启动延迟。
例如,以下将检查您的容器是否每 5 分钟响应一次 HTTP,超时为 3 秒。
HEALTHCHECK --interval=5m --timeout=3s \
CMD curl -f http://localhost/ || exit 1
当健康状态发生变化时,您会收到一个 health_status
事件。您可以通过 docker events
.
表示他们正在使用命令:healthcheck
https://docs.docker.com/engine/reference/builder/#healthcheck
当容器指定了健康检查时,它除了正常状态外还有健康状态。此状态最初为 starting。每当健康检查通过时,它就会变成 healthy(无论它之前处于什么状态)。连续失败一定次数后,变成不健康.
**starting** – Initial status when the container is still starting
**healthy** – If the command succeeds then the container is healthy
**unhealthy** – If a single run of the takes longer than the specified
timeout then it is considered unhealthy. If a health check fails then the
will run retries number of times and will be declared unhealthy
if the still fails.