我正在基于python:2.7-alpine基本镜像的Docker容器中运行Flask Web应用程序,从Debian基本镜像切换。

Flask从/static目录提供的所有图像均以通用内容类型application/octet-stream而不是预期的特定内容类型提供,因此浏览器无法正确显示图像。

如何解决这个问题?

最佳答案

原因是Alpine基本图像没有任何 mime 类型信息。在下面的示例Dockerfile中查看apk add命令。它安装了mailcap软件包,该软件包仅额外增加68 KB并包含/etc/mime.types文件。

FROM python:2.7-alpine

# install /etc/mime.types
RUN apk update && \
    apk add mailcap && \
    rm /var/cache/apk/*
...

现在提供的PNG,JPEG等应具有预期的Content-type header 。

关于docker - 如何使Flask为Alpine上的静态文件提供正确的内容类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38033046/

10-16 03:28