Как на хостинге запустить flask приложение на 80 порту?

Для запуска Flask-приложения на порту 80 на хостинге с использованием Docker вам потребуется выполнить следующие шаги:

1. Убедитесь, что у вас установлен Docker и Docker Compose на вашем хостинге, если это не так, следуйте инструкциям для установки на вашей операционной системе.

2. Создайте файл Dockerfile в корневой папке вашего проекта Flask. Dockerfile является инструкцией для Docker о том, как создать образ вашего приложения. Вам нужно будет указать базовый образ, установить все необходимые зависимости, скопировать исходный код вашего приложения в контейнер и установить команду, которую Docker будет запускать при старте контейнера. Вот пример простого Dockerfile для Flask-приложения:

# Указываем базовый образ
FROM python:3.8-slim-buster

# Устанавливаем зависимости
RUN apt-get update && apt-get install -y 
    build-essential 
    libpq-dev 
    libssl-dev 
    openssl 
    libffi-dev 
    libjpeg-dev 
    zlib1g-dev 
    libcairo2 
    libpango-1.0-0 
    libpangocairo-1.0-0 
    libgdk-pixbuf2.0-0 
    libjpeg62-turbo 
    libpng-tools 
    libpng-dev 
    libcairo2-dev 
    libpango1.0-dev

# Устанавливаем Python-зависимости
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r /app/requirements.txt

# Копируем исходный код приложения в контейнер
COPY . /app/
WORKDIR /app

# Устанавливаем переменную среды Flask
ENV FLASK_APP=app.py

# Запускаем команду, которая будет выполняться при старте контейнера
CMD ["flask", "run", "--host=0.0.0.0", "--port=80"]

3. Создайте файл requirements.txt в корневой папке вашего проекта Flask и укажите все необходимые зависимости вашего приложения. Например:

Flask==1.1.2

4. Создайте файл docker-compose.yml в корневой папке вашего проекта для упрощения процесса настройки Docker. Docker Compose позволяет определить и управлять множеством контейнеров с помощью одного файла настроек, включая настройку портов. Вот пример простого файла docker-compose.yml для запуска вашего Flask-приложения на порту 80:

version: '3'
services:
  flaskapp:
    build: .
    ports:
      - "80:80"

5. Загрузите ваше Flask-приложение и все файлы Docker в корневую папку вашего хостинга.

6. Откройте командную строку вашего хостинга и перейдите в корневую папку вашего проекта.

7. Запустите команду docker-compose up --build. Docker Compose создаст и запустит контейнер, определенный в файле docker-compose.yml, и настроит все необходимые зависимости и порты, в том числе пробросив порт 80 из контейнера в порт 80 на вашем хостинге.

8. После успешного запуска вашего Flask-приложения на порту 80, вы сможете получить доступ к нему, введя веб-адрес вашего хостинга в вашем веб-браузере.

Теперь ваше Flask-приложение будет запущено на порту 80 на вашем хостинге, используя Docker. Вы также можете использовать nginx или другой веб-сервер для проксирования трафика с порта 80 на другие порты или домены, если это необходимо.