Django-Docker容器化部署:前言

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

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

教程共四章:docker

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

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

教程特点

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

教程适宜人群

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

什么是Docker

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

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

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

为何要学Docker

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

但若是你有了 Docker 就不同了,由于 Docker 能够把系统环境和代码一同打包进去,真正作到了**"一次开发,到处运行"**,无论你的机器有多复杂的环境,容器就像一个集装箱,把无关的东西通通隔离在外面。学习

有了 Docker,更换服务器也变得很是的简单,只须要把项目代码、数据、Docker 构建文件下载到新服务器上,几条指令就搞定了。啥配置 Nginx 、配置 Gunicorn 、配置 Mysql,通通均可以无论了,由于 Docker 构建文件里早就写好了。网站

有了 Docker,你只须要购买一台服务器,就能够在上面部署多个站点,而且不用担忧它们互相影响,由于每一个容器都是隔离起来的,很是的安全。

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

提问须知

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

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

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

资源列表

若是你对如何将 Django 项目部署到云端彻底不了解的,强烈建议先看看传统部署流程,创建大体印象:

若是你想从新学习 Django 开发的,能够先看博主的 Django 教程:

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

挑战开始

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


  • 有疑问请在杜赛的我的网站留言,我会尽快回复。
  • 或Email私信我:dusaiphoto@foxmail.com
相关文章
相关标签/搜索