如何在 WSL 2 + Docker 環境中開發 Django:安裝順序與最佳實踐

更新日期: 2025 年 3 月 4 日

當你準備在 Windows 上使用 Docker 開發 Django 時,可能會有這些疑問:

  • 我應該先安裝 Python,還是先寫 Dockerfile
  • WSL 2、Docker、Python 之間的關係是什麼? 應該按照什麼順序安裝?
  • Django 是 Python 的 Web 框架,我還需要在 Windows 上安裝 Python 嗎?

如果你是新手,這篇文章將詳細介紹 如何規劃 WSL 2、Docker 和 Python,並提供最佳的 安裝順序,確保你的開發環境高效且穩定!


WSL 2、Docker、Python 之間的關係

在 Windows 上開發 Django,主要有 兩種方式

  1. 直接在 Windows 上安裝 Python 與 Django(不建議)
  2. 使用 WSL 2 + Docker,建立可攜式的 Django 開發環境(最佳方案)

為什麼不建議直接在 Windows 上安裝 Python?

  • Django 是 Linux 友好的框架,而 Windows 上的 Python 可能會遇到相容性問題。
  • Docker 提供獨立的開發環境,讓你的專案更容易管理,且與正式部署環境一致。

WSL 2、Docker、Python 之間的關係

技術角色作用
WSL 2基礎環境讓 Windows 可以運行真正的 Linux,提供最佳效能
Docker容器管理負責啟動獨立的 Django 環境,隔離 Python 依賴
Python開發語言Django 需要 Python,但 Python 應該安裝在 Docker 容器內,而不是 Windows 本機

結論:

先安裝 WSL 2,讓 Windows 能夠支援 Linux
再安裝 Docker,使用容器來運行 Django,而不是直接安裝 Python
最後撰寫 Dockerfile,在容器內安裝 Python & Django,而不是在 Windows 上安裝 Python


WSL 2、Docker、Django 的安裝順序

為了確保環境穩定,建議按照以下順序安裝:

安裝 WSL 2

為什麼先安裝 WSL 2?

  • Windows 本身無法直接運行 Linux,但 WSL 2 可以 提供完整的 Linux 環境,讓 Docker 可以使用 Linux 核心。
  • WSL 2 讓 Docker 運行更快、更高效,因為它比 Hyper-V 更輕量。

安裝 WSL 2

  1. 開啟 PowerShell(系統管理員權限),輸入:
 wsl --install
  1. 安裝 Ubuntu(推薦) 作為 WSL 2 的 Linux 發行版:
wsl --set-default-version 2
  1. 確認 WSL 2 是否已啟動
wsl -l -v

如果顯示:

NAME            STATE           VERSION
Ubuntu         Running         2

代表 WSL 2 已啟動。


安裝 Docker

為什麼第二步安裝 Docker?

  • Docker 需要依賴 WSL 2,因此必須先安裝 WSL 2。
  • Docker 允許我們在容器內安裝 Python,不影響 Windows 環境。

安裝 Docker

  1. 下載 Docker Desktop官方網站
  2. 安裝完成後,開啟 Docker Desktop > Settings > General,啟用: ✅ “Use the WSL 2 based engine”
  3. 測試 Docker 是否正常運行:
docker run hello-world

如果成功,會顯示:

Hello from Docker!

撰寫 Dockerfile 並安裝 Python

為什麼第三步撰寫 Dockerfile?

  • 不要直接在 Windows 或 WSL 內安裝 Python,而是讓 Docker 幫你管理 Python 環境。
  • Dockerfile 讓你的開發環境 與正式環境一致,避免「本機能跑、伺服器不能跑」的問題。

建立 Django Docker 環境

  1. 建立專案資料夾
mkdir my-django-project
cd my-django-project
  1. 建立 Dockerfilemy-django-project 內建立 Dockerfile,內容如下:
# 使用官方 Python 3.9 映像檔
FROM python:3.9

# 設定工作目錄
WORKDIR /app

# 複製 requirements.txt(列出 Django 依賴)
COPY requirements.txt requirements.txt

# 安裝 Django 及相關依賴
RUN pip install -r requirements.txt

# 開啟容器時的預設命令
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
  1. 建立 requirements.txt
echo "django" > requirements.txt
  1. 建立 Docker 容器
docker build -t my-django-app .
  1. 啟動 Django 開發伺服器
docker run -p 8000:8000 my-django-app

現在你可以在 http://localhost:8000 訪問 Django 專案 🎉!


最佳開發流程

當你開發 Django 專案時,建議遵循這個流程:

1️⃣ 開啟 WSL 2(確保 WSL 2 運行)
2️⃣ 在 WSL 2 內 clone Django 專案

git clone https://github.com/yourusername/your-django-project.git
cd your-django-project

3️⃣ 使用 VS Code 開啟專案

code .

4️⃣ 啟動 Django Docker 容器

docker-compose up

5️⃣ 進入 Django 容器

docker exec -it my-django-app bash

你現在已經進入 Django 的 Linux 環境,可以執行:

python manage.py migrate
python manage.py createsuperuser

總結

  • 先安裝 WSL 2,讓 Windows 支援 Linux 環境。
  • 再安裝 Docker,確保所有開發工具(Python、Django)都在 Docker 容器內運行。
  • 最後撰寫 Dockerfile,讓開發環境與正式環境一致,避免版本衝突。

這樣的開發方式可以:

保持 Windows 系統乾淨,不安裝 Python
讓 Django 環境與正式部署環境保持一致
確保開發環境穩定,避免 Python 版本衝突

如果你是 Django 開發者,強烈建議你使用 WSL 2 + Docker,這是最強大的開發組合 🚀!

Similar Posts