如何让Flask为Alpine上的静态文件提供正确的内容类型?

时间:2016-06-25 21:17:26

标签: docker flask alpine

我在Docker容器中运行Flask webapp,基于python:2.7-alpine基础映像,从Debian基础映像切换。

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

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

原因是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等应该具有预期的内容类型标题。