Невозможно вернуть файлы Stati c [404] Flask Приложение работает в Docker (Ubuntu) контейнере - PullRequest
0 голосов
/ 25 марта 2020

У меня есть приложение Flask, которое использует stati c файлы, такие как 'font.ttf', хранящиеся в '/ app / static / fonts /' в каталоге контейнера.

Приложение работает правильно при запуске на Python в windows для разработки и может извлекать файлы. Однако, помещенный в контейнер Ubuntu Docker, он запускает веб-страницу и базу c html, но не может обслуживать stati c файлы, которые go с веб-страницей.

Пример ошибки:

GET http://192.168.1.200:5000/static/fonts/Pacifico-Regular.ttf net::ERR_ABORTED 404 (NOT FOUND)

У меня есть следующие параметры запуска для приложения flask.

app = Flask(__name__, static_url_path='', static_folder=os.path.abspath('/app/static/'))

Почему невозможно вернуть файлы stati c ?

Структура справочной папки:

app
├───static
│   ├───css
│   ├───fonts
│   ├───js
│   │   └───lib
│   └───media
└───templates

Dockerfile:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
RUN apt-get install -y unixodbc-dev

COPY . /app
WORKDIR /app

RUN pip install flask
RUN pip install pyodbc

ENTRYPOINT ["python"]
CMD ["app.py"]

Docker Запуск:

docker run -d -p 5000:5000 flask-app:latest

Большое спасибо

1 Ответ

0 голосов
/ 25 марта 2020

Разрешено обновлением flask объекта в app.py.

От:

app = Flask(__name__, static_url_path='')

До:

app = Flask(__name__)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...