我在Docker容器中有一个Flask Web服务。
我目前的工作:
$ docker run -p 8080:8080 --rm my_image serve.py
$ curl -d '{"foo": "bar", "foo2": "bar2"}' -H "Content-Type: application/json" -v http://localhost:8080/ping
如果返回状态代码200,那很好。
我可以自动执行此操作吗?最好是tox
?
答案 0 :(得分:1)
Docker HealthChecks可能有用。运行状况检查是定期执行以确定容器是否健康的命令。
运行状况检查通常包括卷曲http端点并检查返回代码。
您可以在Dockerfile中定义运行状况检查:
HEALTHCHECK --interval=5m --timeout=3s \
CMD curl -d '{"foo": "bar", "foo2": "bar2"}' -H "Content-Type: application/json" -v http://localhost:8080/ping || exit 1
或者当运行容器时:
docker run --health-cmd='curl -d '{"foo": "bar", "foo2": "bar2"}' -H "Content-Type: application/json" -v http://localhost:8080/ping || exit 1' --health-interval=5m --health-timeout=3s ...
运行docker container ls