我正在尝试 dockerize 我的 python 应用程序。构建 Dockerfile 和安装依赖项时显示错误scikit-learn
ie. numpy
.
Dockerfile
FROM python:alpine3.8
RUN apk update
RUN apk --no-cache add linux-headers gcc g++
COPY . /app
WORKDIR /app
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5001
ENTRYPOINT [ "python" ]
CMD [ "main.py" ]
要求.txt
scikit-learn==0.23.2
pandas==1.1.3
Flask==1.1.2
错误:找不到满足安装工具要求的版本(来自版本:无)
错误:找不到安装工具的匹配发行版
完全错误 https://pastebin.com/71W8j6pH
同意 @senderle 评论,Alpine 不是这里的最佳选择,特别是如果您计划使用依赖于 numpy 的科学 Python 包。如果您绝对需要使用 Alpine,您应该查看其他问题,例如在 Docker Alpine 上安装 numpy https://stackoverflow.com/questions/33421965/installing-numpy-on-docker-alpine.
这是一个建议,我也更换了ENTRYPOINT
by CMD
为了能够覆盖以方便调试(例如运行 shell)。如果ENTRYPOINT
is python
将无法覆盖它,并且您将无法运行除python
命令。
FROM python:3.8-slim
COPY . /app
WORKDIR /app
RUN pip install --quiet --no-cache-dir -r requirements.txt
EXPOSE 5001
CMD ["python", "main.py"]
构建、运行、调试。
# build
$ docker build --rm -t my-app .
# run
docker run -it --rm my-app
# This is a test
# debug
$ docker run -it --rm my-app pip list
# Package Version
# --------------- -------
# click 7.1.2
# Flask 1.1.2
# itsdangerous 1.1.0
# Jinja2 2.11.2
# joblib 0.17.0
# MarkupSafe 1.1.1
# numpy 1.19.2
# pandas 1.1.3
# ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)