21.3. 使用 Containerfile 执行健康检查
您可以使用 Containerfile 中的 HEALTHCHECK 指令来设置健康检查。
先决条件
-
container-tools元数据包已安装。
流程
创建
Containerfile:cat Containerfile FROM registry.access.redhat.com/ubi8/httpd-24 EXPOSE 8080 HEALTHCHECK CMD curl http://localhost:8080 || exit 1
$ cat Containerfile FROM registry.access.redhat.com/ubi8/httpd-24 EXPOSE 8080 HEALTHCHECK CMD curl http://localhost:8080 || exit 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意HEALTHCHECK指令仅支持docker镜像格式。对于oci镜像格式,该指令会被忽略。构建容器镜像并添加镜像名称:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行容器:
podman run -dt --name=hc-container localhost/hc-container
$ podman run -dt --name=hc-container localhost/hc-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查
hc-container容器的健康状态:使用
podman inspect命令:podman inspect --format='{{json .State.Health.Status}}' hc-container$ podman inspect --format='{{json .State.Health.Status}}' hc-container healthyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
podman ps命令:podman ps
$ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a680c6919fe localhost/hc-container:latest /usr/bin/run-http... 2 minutes ago Up 2 minutes (healthy) hc-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
podman healthcheck run命令:podman healthcheck run hc-container
$ podman healthcheck run hc-container healthyCopy to Clipboard Copied! Toggle word wrap Toggle overflow