Anonymous
Проверка здоровья Docker всегда возвращается как нездоровый
Сообщение
Anonymous » 07 авг 2025, 09:44
Docker HealthCheck проходит, поэтому он показывает нездоровое.
Код: Выделить всё
FROM python:3.8.5-alpine3.12
WORKDIR /app
EXPOSE 8080
ENV FLASK_APP=app.py
COPY . /app
RUN pip install -r requirements.txt
ENTRYPOINT [ "flask"]
HEALTHCHECK --interval=10s --timeout=10s --start-period=55s \
CMD curl -f --retry 10 --max-time 15 --retry-delay 10 --retry-max-time 60 "http://localhost:8080/health" || exit 1
CMD [ "run", "--host", "0.0.0.0", "--port", "8080"]
< /code>
попробовал с примером ниже, получая ниже ошибку < /p>
$docker inspect --format '{{json .State.Health }}' flask-app
Template parsing error: template: :1:13: executing "" at : map has no entry for key "State"
< /code>
App.py
from flask import Flask, request
from flask_restx import fields, Resource, Api, reqparse
app = Flask(__name__)
api = Api(app)
@api.route('/health', methods=['GET'])
class Health(Resource):
def get(self):
return { 'success': True, 'message': "healthy" }
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
Подробнее здесь:
https://stackoverflow.com/questions/675 ... -unhealthy
1754549090
Anonymous
Docker HealthCheck проходит, поэтому он показывает нездоровое.[code]FROM python:3.8.5-alpine3.12 WORKDIR /app EXPOSE 8080 ENV FLASK_APP=app.py COPY . /app RUN pip install -r requirements.txt ENTRYPOINT [ "flask"] HEALTHCHECK --interval=10s --timeout=10s --start-period=55s \ CMD curl -f --retry 10 --max-time 15 --retry-delay 10 --retry-max-time 60 "http://localhost:8080/health" || exit 1 CMD [ "run", "--host", "0.0.0.0", "--port", "8080"] < /code> попробовал с примером ниже, получая ниже ошибку < /p> $docker inspect --format '{{json .State.Health }}' flask-app Template parsing error: template: :1:13: executing "" at : map has no entry for key "State" < /code> App.py from flask import Flask, request from flask_restx import fields, Resource, Api, reqparse app = Flask(__name__) api = Api(app) @api.route('/health', methods=['GET']) class Health(Resource): def get(self): return { 'success': True, 'message': "healthy" } if __name__ == '__main__': app.run(debug=True, host='0.0.0.0') [/code] Подробнее здесь: [url]https://stackoverflow.com/questions/67513998/docker-health-check-always-returning-as-unhealthy[/url]