本文旨在說明如何運用 Windows 內建的 WSL 2 與 Docker Desktop,快速部署一個功能完整的 GitLab 服務。我們將完成 GitLab 容器的安裝、取得初始管理者密碼、並設定一個方便記憶的網域名稱,以便在個人開發環境中輕鬆存取。
準備環境:啟用 WSL 2 與 Docker
在開始之前,請確保您的 Windows 系統已啟用 WSL 2 並安裝 Docker Desktop。GitLab 是一個資源密集型應用,建議將 Docker 的資料根目錄移至非系統碟,以避免佔用 C 槽空間。
安裝 WSL 2
開啟 PowerShell(以系統管理員身分),執行以下指令一鍵安裝。
1wsl --install
安裝 Docker Desktop
前往 Docker 官方網站下載並安裝。安裝完成後,可直接使用 Docker Desktop 建立的 Linux,或在 Settings > Resources > WSL Integration
中啟用與您的 Linux 發行版整合。
完成這兩步後,您的 Windows 環境就具備了執行 Docker 容器所需的一切。
執行指令安裝 GitLab
接下來,我們使用 docker run
指令來建立並啟動 GitLab 容器。此指令會自動下載最新版的 GitLab Community Edition (CE) 映像檔,並完成基本設定。
請將指令中的 gitlab.my.tw
與 IP 位址 172.30.239.239
替換為您自己的規劃。此處的 IP 是為了綁定到特定的網路介面(例如 ZeroTier 或實體網卡)。
1docker run --detach ^
2 --hostname gitlab.my.tw ^
3 --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.my.tw'" ^
4 --publish 172.30.239.239:443:443 ^
5 --publish 172.30.239.239:80:80 ^
6 --publish 172.30.239.239:22:22 ^
7 --name gitlab ^
8 --restart always ^
9 --volume gitlab-config:/etc/gitlab ^
10 --volume gitlab-logs:/var/log/gitlab ^
11 --volume gitlab-data:/var/opt/gitlab ^
12 --shm-size 256m ^
13 gitlab/gitlab-ce:latest
指令執行後,Docker 會開始下載映像檔並啟動容器,最後完成後,GitLab 容器將在背景執行,初次啟動需要數分鐘時間進行初始化。
取得初始密碼並首次登入
GitLab 第一次啟動時,會產生一組預設的 root
使用者密碼,取得流程如下:
取得 root 密碼
開啟 Docker Desktop,點擊 gitlab
容器進入頁面,切換到 Files
分頁,瀏覽其中的 /etc/gitlab/
目錄,找到 initial_root_password
檔案,點擊滑鼠右鍵與 Edit
。
檔案內容會包含密碼,類似下方格式:
1Password: HnF5bKzGj7pW3qR8sT2v
注意:此密碼檔案將在 24 小時後會自動刪除。
登入 GitLab
開啟瀏覽器,輸入 http://172.30.239.239
。使用帳號 root
和剛剛取得的密碼登入。登入後立即修改密碼。
設定 Hosts 檔案以網域連線
為了方便記憶與使用,我們可以透過修改本機的 hosts
檔案,將自訂網域 gitlab.my.tw
指向我們的 GitLab IP。
編輯 Hosts 檔案
在 C:\Windows\System32\drivers\etc\hosts
檔案中,新增以下對應:
1172.30.239.239 gitlab.my.tw
提示:若您跟我一樣使用 ZeroTier 組建虛擬區域網路,可以將此 IP 設定為 GitLab 伺服器在 ZeroTier 上的 IP,這樣所有網路內的裝置都能透過 gitlab.my.tw
存取。
使用網域登入
儲存檔案後,您就可以直接在瀏覽器中輸入 http://gitlab.my.tw
來存取您的 GitLab 服務了。
總結
透過 Docker 和 WSL 2,在 Windows 上架設一個私有的 GitLab 服務變得非常簡單。這種方式不僅安裝快速、環境乾淨,而且透過掛載資料卷(Volume),所有設定、資料庫和 Git 儲存庫都能被妥善保存,方便日後升級與備份。對於個人開發者或小型團隊來說,這是在本地環境中實踐版本控制與 CI/CD 的絕佳方案。