目标
我想通过验证docker日志来检查我的docker容器的健康状态。
要求
我有两个文件,分别是Dockerfile
和loop.sh
,并已将HEALTHCHECK添加到我的docker中,如下所示:
Dockerfile
FROM alpine
ADD . /
HEALTHCHECK --interval=1s --timeout=30s --retries=3 CMD echo {'health':'healthy'}
CMD ["sh","loop.sh"]
loop.sh
#!/bin/sh
while 1>0;do echo "1"; sleep 2; done;
观察结果
- 观察1
docker logs
命令只输出了 loop.sh
中提到的整数 1,但没有输出我的 Docker 的健康状态信息。以下是附加的图像-
- 观察2
docker ps
命令显示容器已经正常运行,因此可以推断我的健康检查正在工作。以下是附加的图像-
- 观察3
docker inspect
命令也显示了 Docker 容器的健康状态。以下是截图-
问题
如何记录此 {'health':'healthy'}
健康检查状态,以便可以在 Docker 日志中查看?
/var/run/docker.sock
socket 的权限。请参考此问题的答案。 - Jimmix