docker使用Dockerfile python:3.6-alpine配置tensorflow、numpy和Pillow运行环境
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了docker使用Dockerfile python:3.6-alpine配置tensorflow、numpy和Pillow运行环境,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2799字,纯文字阅读大概需要4分钟。
内容图文
大概在整个互联网上搜索了一天,浏览了不下100个搜索页,尝试了无数种方法,如
1、 FROM python:3.6-alpine改成FROM python:3.6-slim或者FROM ubuntu
这种方式最终都没法安装上tensorflow==1.15.0,始终显示找不到这个包的任何版本,最终也没解决
于是后来就想,怎么把tensorflow整合进去,于是又尝试在Dockerfile里使用两个FROM,不过由于自己对docker的了解实在有限,没办法,参考了这个https://www.cnblogs.com/leoyang63/articles/13733967.html,才知道自己的整合方式是错的,如下
FROM tensorflow/tensorflow
FROM python:3.6-alpine
LABEL maintainer="xxx <xxx@qq.com>"
# 这些都是后来加的,因为numpy和Pillow安装不上,才知道需要这些依赖包
#RUN echo -e http://dl-cdn.alpinelinux.org/alpine/v3.13/main > /etc/apk/repositories
#RUN cat /etc/apk/repositories
RUN apk --update add --no-cache libxml2-dev libxslt-dev libffi-dev gcc musl-dev libgcc openssl-dev curl jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev
COPY . /detectweb
WORKDIR /detectweb
RUN pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple && pip install gunicorn&&chmod 755 run_server.sh
EXPOSE 8080
ENTRYPOINT [ "./run_server.sh" ]
后来也尝试使用docker commit等来进行整合,最终还是失败了
2、又尝试直接放弃alpine,使用Ubuntu
FROM ubuntu
RUN apt update && apt install -y python3-pip python3-dev vim && pip3 install --upgrade pip && pip3 install tensorflow && ln -s /usr/bin/python3 /usr/bin/python && ln -s /usr/bin/pip3 /usr/bin/pip
LABEL maintainer="xxx <xx@qq.com>"
COPY . /detectweb
WORKDIR /detectweb
RUN pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple && pip install gunicorn&&chmod 755 run_server.sh
EXPOSE 8080
ENTRYPOINT [ "./run_server.sh" ]
这样好不容易tensorflow终于安装成功了,docker 的image也构建好了,结果一运行,发现报错
TypeError: required field "type_ignores" missing from Module
原因是python是3.8的,和werkzeug包冲突了,真是吐了
没办法,又想办法降低版本,在Dockerfile里捣鼓了很久,如
# 这里还添加了各种依赖、工具
#RUN apt-get update
#RUN apt-get install -y software-properties-common
#RUN add-apt-repository ppa:jonathonf/python-3.6
RUN apt update && apt install -y python3.6 python3.6-pip python3.6-dev vim && pip3 install --upgrade pip && pip3 install tensorflow && ln -s /usr/bin/python3 /usr/bin/python && ln -s /usr/bin/pip3 /usr/bin/pip
当然、最终还是没有把python版本降下来,但到这里已经很接近了,至少tensorflow和Pillow包这些没问题了
3、最后一种方法,直接干脆把ubuntu换了,换成python:3.6,连alpine都不要了。。就成功了,项目也成功部署了,吐了,就这?干了一天md
FROM python:3.6
LABEL maintainer="xxx <xx@qq.com>"
COPY . /detectweb
WORKDIR /detectweb
RUN pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple && pip install gunicorn&&chmod 755 run_server.sh
EXPOSE 8080
ENTRYPOINT [ "./run_server.sh" ]
内容总结
以上是互联网集市为您收集整理的docker使用Dockerfile python:3.6-alpine配置tensorflow、numpy和Pillow运行环境全部内容,希望文章能够帮你解决docker使用Dockerfile python:3.6-alpine配置tensorflow、numpy和Pillow运行环境所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。