使用 Docker on WSL 2 快速部署個人 GitLab 服務

Ted Liou 2025.08.27 開發維運
本文介紹如何在 Windows Subsystem for Linux (WSL 2) 環境中,透過 Docker 快速安裝與設定 GitLab Community Edition (CE),並結合 ZeroTier 實現跨裝置存取,打造一個私有的程式碼託管平台。

本文旨在說明如何運用 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 的絕佳方案。

相關文章

Ted Liou

我是一位遊戲開發工程師 / 軟體工程師,專精於 Unity 和 C#。我善於自學新技術,並樂於將所學轉化為淺顯易懂的教材,幫助他人學習與成長。