Почему не открывается flask приложение в Docker?

Есть просто приложение на Flask:

from flask import Flask, jsonify
import random

app = Flask(__name__)

@app.route('/', methods=['GET'])
def get_temperature():
    # Генерация случайной температуры от -10 до 40 градусов Цельсия
    temperature = round(random.uniform(-10, 40), 2)
    
    # Формирование JSON-ответа
    response = {
        'temperature': temperature,
        'unit': 'Celsius'
    }

    print(temperature)

    return jsonify(response)

if __name__ == '__main__':
    app.run(debug=True, port=5023)

Dockerfile:

# Выкачиваем из dockerhub образ с python версии 3.9
FROM python:3.9
# Устанавливаем рабочую директорию для проекта в контейнере
WORKDIR /api

# Устанавливаем порт, который будет использоваться для сервера
EXPOSE 5023

# Скачиваем/обновляем необходимые библиотеки для проекта 
COPY requirements.txt ./


RUN pip3 install --upgrade pip -r requirements.txt
# |ВАЖНЫЙ МОМЕНТ| копируем содержимое папки, где находится Dockerfile, 
# в рабочую директорию контейнера
COPY . /app

Docker Compose:

version: '3'
services:
  flask:
    # Путь до Dockerfile
    build: ./api
    # Имя для создаваемого контейнера
    container_name: api-flask
    # Создание переменных окружения в контейнере
    environment:
      # для отладки (при запуске в релиз убрать!)
      - FLASK_ENV=development
      ## Позволяет отслеживать процесс работы приложения в командной строке
      - PYTHONUNBUFFERED=True                   
      ##
    # Перезапускаем сервис в случае падения 
    restart: on-failure
    # Прокладывам путь для файлов. Все файлы, которые хранятся у вас в 
    # директории ./api, появятся в директории контейнера /api
    volumes:
      - ./api:/api
    # Открываем порт в контейнер
    # Порт, который будет смотреть наружу : порт который используется внутри контейнера
    ports:
      - "5023:5023"
    command: python api.py

requirements.txt:

flask==3.0.2

Расположение файлов: введите сюда описание изображения Всю информацию взял с этой (https://habr.com/ru/companies/megafon/articles/541826/) статьи на хабре. К сожалению при обращении к localhost:5023 получаю "Не удается получить доступ к сайту". Подскажите, почему происходит такая проблема и как это исправить?


Ответы (0 шт):