V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
prondtoo
V2EX  ›  Django

求 django rest framework 打包成 docker 的最佳实践,uwsgi+alpine

  •  
  •   prondtoo · 2018-07-18 15:05:58 +08:00 · 3035 次点击
    这是一个创建于 2080 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为想用 DRF 来开发微服务,有没有现成的 dockerfile 可以快速打包成 docker 即用的,最好是 uwsgi 的。

    我在网上搜了下现有 django 的 docker 镜像,很多都是 ubuntu 的,好不容易找到一个 alpine 的,又是直接 runserver 的,难道没人这样来开发微服务的么?

    看来要自己写一个了。
    7 条回复    2018-07-18 16:13:46 +08:00
    est
        1
    est  
       2018-07-18 15:07:45 +08:00   ❤️ 1
    alpine 跑 python 效率可能要低 20%。搜一下文章。
    lyhapple
        2
    lyhapple  
       2018-07-18 15:16:37 +08:00
    django 太重, 感觉不太适合微服务, 我倒是有一个基于 centos 7.2.1511 的 docker 镜像.
    lyhapple
        3
    lyhapple  
       2018-07-18 15:17:06 +08:00
    补充一句, 集成了 nginx, supervisor, uwsgi, python3
    chengxiao
        4
    chengxiao  
       2018-07-18 15:19:52 +08:00   ❤️ 1
    我这整了一个 不过基础镜像是 基于 ubuntu:16:04 进去装了 uwsgi python3 pip3
    """
    FROM chengxiao/django
    COPY ./requirements.txt /www/ini/requirements.txt
    COPY ./uwsgi.ini /www/ini/uwsgi.ini
    RUN pip3 install -r /www/ini/requirements.txt
    EXPOSE 8010
    CMD ["uwsgi", "--ini","/www/ini/uwsgi.ini"]

    """
    yanaraika
        5
    yanaraika  
       2018-07-18 15:25:38 +08:00   ❤️ 1
    生产环境还是老老实实用 ubuntu/debian 的 slim 版本吧,glibc 这么多年的那么多 bug 不是白修的
    freakxx
        6
    freakxx  
       2018-07-18 15:55:54 +08:00
    也是 DRF 前后分离
    最近开发需求跟楼主差不多,不过还没开始搞,
    之前都是直接在 ubuntu 上面部署,nginx + uwsgi + supervisor,
    不知有没现成的方案
    prondtoo
        7
    prondtoo  
    OP
       2018-07-18 16:13:46 +08:00
    @lyhapple flask 也试过那个 Flask-RESTful,用起来是没 DRF 全面,比如要做个授权服务,DRF 直接有第三方实现还很好用。DRF 确实有点重,可以考虑分开写,依赖功能少的用 flask。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2733 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:23 · PVG 08:23 · LAX 17:23 · JFK 20:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.