0

コンテナー ディレクトリの「/app/static/fonts/」内に格納されている「font.ttf」などの静的ファイルを使用する Flask アプリケーションがあります。

開発用の Windows で Python を実行すると、アプリケーションは正しく機能し、ファイルを取得できます。ただし、Ubuntu Docker コンテナーに配置すると、Web ページと基本的な html が起動されますが、Web ページに付随する静的ファイルを提供することはできません。

エラー例:

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

フラスコ アプリケーションの次の起動パラメーターがあります。

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

静的ファイルを返せないのはなぜですか?

参照フォルダ構造:

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 run -d -p 5000:5000 flask-app:latest

どうもありがとう

4

1 に答える 1