Docker部署应用 Django+daphne+Gunicorn+Nginx+Redis

前言

这里使用Docker部署应用,用到的技术栈

  • Django==2.2.14
  • Daphne, 支持HTTP, HTTP2 和 WebSocket 的asgi的服务器,这里主要是处理WebSocket 的请求。
  • Gunicorn, green unicorn 简称,unix系统的wsgi http服务器 处理符合wsgi的接口。
  • Nginx, 静态资源处理和请求的分发等,http请求指向gunicorn进程,websocket请求指向daphne进程等。
  • Docker, 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中。

tips: 这里默认大家已经安装dockerdocker-compose

代码准备

这里使用GitHub上的django-channels实现的websokect项目: https://github.com/xhongc/dj-chat

git clone  https://github.com/xhongc/dj-chat.git

构建镜像 …

more ...

Docker 镜像修改和提交

当你发现构建的镜像缺少python模块,可以进入镜像修改


1.启动镜像

  • docker run -it "<镜像ID>" /bin/bash
  • 修改...
  • exit

2.提交修改

  • 容器ID = 修改后docker ps -l 查看生成的容器ID
  • docker commit "<容器ID>" image_name:tag
    查看镜像已经有了修改
more ...