新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
随着Docker的普及成熟,已经逐渐成为部署项目的选,今天来和大家分享下如何使用docker部署django技术栈项目。
站在用户的角度思考问题,与客户深入沟通,找到大同网站设计与大同网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名、网络空间、企业邮箱。业务覆盖大同地区。我们这里说的Django技术栈为:python3.6、Django2.2、redis、mysql、celery、gunicorn和nginx。在实际的生产项目中,这些组件分布在集群的不同机器,如Nginx、redis和Mysql可能会有单独的团队或部门负责。涉及的部署架构和容器的编排会更为复杂,本文暂不去深究。本文主要介绍,如何使用 docker-compose 来编排这些组件,这种方式适用于测试环境的部署或者你的个人 sideproject 的部署。
本文默认你已经了解 docker 和 docker-compose 的一些基本知识,若你不了解,可阅读下面这些资料:
下面我们来说下如何部署。
项目组织结构
首先,看下我们的项目组织结构,结构如下:
├── LICENSE ├── README.md ├── compose │ ├── celery │ │ ├── Dockerfile │ │ ├── celery-beat.sh │ │ └── celery.sh │ ├── mysql │ │ └── my.cnf │ ├── nginx │ │ └── nginx.conf │ └── web │ ├── Dockerfile │ ├── entrypoint.sh │ ├── gunicorn.conf │ └── gunicorn.sh ├── docker-compose.yml ├── docker_django_demo │ ├── __init__.py │ ├── celery.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── env.tpl ├── manage.py ├── requirements.txt