为了对 Docker 容器进行健康检查,可以在 Dockerfile 中添加 HEALTHCHECK 指令。
例如:
HEALTHCHECK --interval=5s --timeout=3s \
CMD curl -f http://localhost:8080/health || exit 1
上述指令表示每隔 5 秒钟检查一次容器的健康状态,超时时间为 3 秒钟。检查方式是通过调用 curl 命令来访问容器中的健康检查接口(即 http://localhost:8080/health),如果返回码不是 200,则认为容器不健康。
如果想要实现一个简单的健康检查接口,可以通过编写一个 HTTP POST 请求的接口,在接口中返回一个 JSON 格式的字符串表示当前容器的状态。
例如,可以编写一个使用 Flask 框架的 Python 脚本:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/health', methods=['POST'])
def health_check():
return jsonify(status='OK')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
上述代码表示启动一个 Flask 应用,并在 /health 接口中处理 POST 请求,返回一个 JSON 格式的字符串 {“status”: “OK”}。然后在 Dockerfile 中添加以下健康检查指令:
HEALTHCHECK --interval=5s --timeout=3s \
CMD curl -X POST -d "" http://localhost:8080/health || exit 1
上述指令表示每隔 5 秒钟检查一次容器的健康状态,超时时间为 3 秒钟。检查方式是通过调用 curl 命令来访问容器中的 /health 接口,并发送一个空的 POST 请求,如果返回码不是 200,则认为容器不健康。




