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
相關文章
相關標籤/搜索