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 教程:

此外,本文撰寫時主要參考了以下資料:

挑戰開始

多說無益,吸一口氣,讓挑戰開始吧!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章