我建立了一个docker映像:
Dockerfile:
FROM busybox
WORKDIR /
COPY healthcheck.sh .
RUN chmod +x healthcheck.sh
HEALTHCHECK --start-period=1s --interval=2s --timeout=3s --retries=3 CMD /healthcheck.sh || exit 1
CMD while true; do $(echo date); sleep 10; done
helthcheck.sh:
#!/bin/sh
if [ $HOSTNAME ]; then
echo "OK"
exit 0
else
echo "FAIL"
exit 1
fi
我的目标是发送一个"ok"或";FAIL"在容器的日志流中与日期一起。
有办法做到这一点吗?"log-driver"awslogs">
谢谢!
您可以使用AWS云监视日志驱动程序使用此配置,任何发送的stdout都将被发送到AWS。
问题是healthcheck运行在与主进程不同的进程中,因此很难写入主进程的stdout。
这里有一个简单的解决方案来绕过这个