社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

Django-Docker容器化部署:前言

杜赛_dusai • 4 年前 • 451 次点击  
阅读 0

Django-Docker容器化部署:前言

这是教你手把手部署 Docker + Django + MySQL + Nginx + Gunicorn 的傻瓜式教程,目的是让 Docker 菜鸟也能快速部署容器化的 Django 应用。

需要全面深入了解 Docker 的读者,请系统性地学习官方文档

教程共四章:

  • 前言
  • Docker + Django 本地部署
  • Docker + Django + MySQL 本地部署
  • Docker + Django + MySQL + Nginx + Gunicorn 本地 + 云端部署

章节之间是继承关系,建议小白读者按顺序阅读,不要着急。

教程特色

  • 零基础、免费、中文、完整项目代码
  • 基于最新的 Docker 19.03.1、Python 3.7、Django 2.2
  • 博主热情的技术支持

教程适宜人群

  • 完全没接触过 Docker,但却想迅速搭建容器化项目的
  • 接触过 Docker,但是却不清楚如何用 Docker 搭建 Django 项目的

什么是Docker

Docker 是一种基于 Linux 的容器技术,它可以将你的代码以及代码需要的环境打包到一起,从而组装为一个标准、轻量级、安全的隔离环境。

在容器技术之前,业界类似的明星产品是虚拟机:也就是在你的操作系统里面装一个软件,通过这个软件模拟出多个子系统出来。子系统之间是隔离的,互不影响。但虚拟机要模拟出整个系统,因此占用空间巨大,启动更是缓慢。

而 Docker 没有虚拟机的缺点。它只需要虚拟一个小规模的环境(小到甚至只有几MB),类似于“沙箱”。

为什么要学Docker

看本教程的读者,相信你已经看过博主的Django 搭建个人博客教程了,也在部署项目时挣扎痛苦过了。部署为什么难,是因为各云服务器的环境都有所不同,而这些微小的不同累积多了,就导致同样的部署流程,这台机器行,到另外一台机器就怎么都不行了。

但如果你有了 Docker 就不一样了,因为 Docker 可以把系统环境和代码一同打包进去,真正做到了**"一次开发,处处运行"**,不管你的机器有多复杂的环境,容器就像一个集装箱,把无关的东西统统隔离在外面。

有了 Docker,更换服务器也变得非常的简单,只需要把项目代码、数据、Docker 构建文件下载到新服务器上,几条指令就搞定了。啥配置 Nginx 、配置 Gunicorn 、配置 Mysql,统统都可以不管了,因为 Docker 构建文件里早就写好了。

有了 Docker,你只需要购买一台服务器,就可以在上面部署多个站点,并且不用担心它们互相影响,因为每个容器都是隔离起来的,非常的安全。

难怪容器技术近几年如此的火热了。不学你说的过去吗?

提问须知

博主会在力所能及的情况下帮助每一个人,但是每天下班后需要面对读者千奇百怪的开发问题,精力实在有限。在此说明向博主提问的规范,提高双方的沟通效率:

  • **能够在博客评论区说清楚的问题,请尽量通过评论提问。**这样做的好处是其他读者也都能够看到,方便大家一起讨论、解决类似的问题。评论时请精炼语言并稍加排版,帮助博主节省一点点精力。
  • 喜欢寻找学伴互相交流学习的,可以加博主的Django交流QQ群:107143175,或者博主微信:dusai0523。一个人学习难免走弯路,有热心人帮忙就不再寂寞了。

  • 如果你的问题必须结合图片说明、或者特别难描述清楚的,可以通过Email提问。请详细描述你的意图、遇到的问题,然后将所有相关的代码、报错、配置等信息展示给我。博主不是技术大牛,没办法仅凭一句话或者一张图来帮你排查问题。
  • 如果以上方法均无效,请先与博主沟通,将项目打包发送给博主,运行你的代码来查找问题。请注意这是最后才考虑的提问方式,虽然博主很乐于和读者交流技术,但很多时候没有精力逐个排查网友的代码。

资源列表

如果你对如何将 Django 项目部署到云端完全不了解的,强烈建议先看看传统部署流程,建立大致印象:

如果你想重新学习 Django 开发的,可以先看博主的 Django 教程:

此外,本文撰写时主要参考了以下资料:

挑战开始

多说无益,吸一口气,让挑战开始吧!


  • 有疑问请在杜赛的个人网站留言,我会尽快回复。
  • 或Email私信我:dusaiphoto@foxmail.com
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46461
 
451 次点击