如何使用Flask Web服务为Docker容器编写单元测试?

时间:2018-02-05 14:20:46

标签: python docker flask tox

我在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

1 个答案:

答案 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

时,容器运行状况将显示在状态旁边