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

Рейтинг: 0Ответов: 0Опубликовано: 24.08.2023

Собираю приложение в докере, вот докерфайл и bash-скрипт, используемый в ENTRYPOINT:

Dockerfile:


RUN adduser -D jshrt

WORKDIR /home/jshrt

COPY requirements.txt requirements.txt
RUN python -m venv venv
RUN venv/bin/pip install -r requirements.txt
RUN venv/bin/pip install gunicorn

COPY app app
COPY migrations migrations
COPY jshrt.py config.py boot.sh ./
RUN chmod +x boot.sh

ENV FLASK_APP jshrt.py

RUN chown -R jshrt:jshrt ./
USER jshrt

EXPOSE 80
ENTRYPOINT ["./boot.sh"]

boot.sh (используемый в ENTRYPOINT скрипт):


#!/bin/sh
source venv/bin/activate
flask db upgrade
exec python -u jshrt.py

Когда контейнер запускается локально, можно заходить на сайт без порта (так как приложение хостится на 80 порту), но вот на хостинге это не получается. Он (хостинг) выдаёт свой порт, несмотря на указание 80 порта в портах, которые надо открыть, и зайти на сайт можно только через выданные хостингом ip адрес и порт, а при попытке зайти без порта выдаётся это (после уведомления о небезопасности подключения):

введите сюда описание изображения

Мне нужно открыть 80 порт для того, чтобы подключить домен, так как без него моё приложение по некоторым причинам работать корректно не будет. Я искренне не понимаю, почему так происходит. Неужели это из-за хостинга?

Ответы

Ответов пока нет.