--- title: 在 Windows 建置 Docker 環境並架設 Gitlab tags: CI/CD, Windows 10, Gitlab, Docker, Tutorials description: 在 Windows 上部屬 Docker Gitlab 所遇到的問題 --- # 在 Windows 建置 Docker 環境並架設 Gitlab 環境架設日期(2021/07/31) 安裝過程毛一堆,有夠痛苦的,到底為啥要在 Windows 上搞這個阿,自作孽阿 本人的電腦配置 * Acer 筆電 * Windows 10 家用版 * RAM 8 GB * CPU i7-7700HQ --- ## Step 1 安裝 Docker for Windows 去 Docker 官網安裝 [Docker For Windows](https://docs.docker.com/docker-for-windows/install/) --- ## Step 2 安裝 Gitlab 環境 開啟 <font color=red>windows cmd</font> 然後直接輸入 <font color=red>(注意1:要記得把換行刪掉,我只是想讓各位看清楚才這樣打)</font> <font color=red>(注意2:Docker Destop 要先開啟喔,不然他不會執行)</font> ```bash= docker run --detach --publish 20155:80 --name gitlab --restart always --volume D:\ProgramPackage\GitLab/config:/etc/gitlab --volume D:\ProgramPackage\GitLab/logs:/var/log/gitlab --volume D:\ProgramPackage\GitLab/data:/var/opt/gitlab gitlab/gitlab-ce:latest ``` --publish 是只要開啟的 port,20155 是我預定要開在網頁上的 port,而80 為 http 連進來時的 port。這裡的 20155 可以自由地設定,只要確保不會被其他應用程式佔用就好。 --name Docker Container 的名稱,基本上不要亂改比較好,應該是不會怎樣啦,但就是不要拉。 --volume 這個是設定 Gitlab 檔案路徑位置,要注意這個路徑 <font color=red>D:\ProgramPackage\GitLab</font> 要自己改掉,以全英文且無空白的路近最為保險。三個都要改喔。 gitlab/gitlab-ce:latest 最後這行是設定 Gitlab 的版本,這裡是使用目前(2021/07/31)最新的 Community 版的 Gitlab。 輸入完後應該會跑看起像進度調的東西 (===========> )XX MB 類似這種東西就對了 --- ## Step 3 耐心的等待 當上面的指令跑完後,應該會在 Docker Destop 上看到這兩個東西跑出來 在 Image 裡: ![](https://i.imgur.com/hdYLHjW.png) 在 Container 裡: ![](https://i.imgur.com/RJBh6WC.png 剩下就讓它慢慢跑了,時間從 5 分鐘至 20 分鐘不等,看各位的電腦夠不夠厲害了。<font color=red>至於怎樣才算跑完,我也不知道,所以請直接看下一步!</font> --- ## Step 4 查看 Gitlab 頁面 請在網址列輸入 localhost: [你得port] 或 127.0.0.1:[你的port],依照上面的範例我的話就會是 <font color=blue>localhost:20155</font>。 假如有看到以下畫面,恭喜你,就快成功了。 ![](https://i.imgur.com/BgkSAFg.png) <br/> 那假如是以下畫面,<font color=red>那有可能是等的不夠久,再繼續等吧,假如你覺得真的等了很久沒用,那就去找找看其他方法吧。或也可以先拉到最下面看一下備註!</font>。 ![](https://i.imgur.com/45UgpsM.png) ## Step 5 登入管理者 這時當你要登陸管理者時,通常預設的是 帳號:root, 密碼:5iveL!fe,當我使用這組密碼時,一直登陸失敗,找了一堆方法都不管用,明明自己是主機卻登陸不進去管理者,有夠X的。以下是我找到適用於 <font color=blue>windows</font> 的方法。 首先先 打開 <font color=blue>windows cmd</font> 輸入: ```bash= docker exec -it gitlab bash ``` root@ 後面的字串可能不一樣,不過有這樣顯示就可以了 ![](https://i.imgur.com/uQd6xAD.png) 然後再輸入 ```bash= gitlab-rails console ``` 這裡他會跑一陣子,成功會顯示這樣,版本編號可能會不太一樣,不過有顯示這樣的結構即可 ![](https://i.imgur.com/Rcj7pfl.png) 接下來就是改管理者的密碼了,這裡用 Ruby 的語法: ```ruby= user = User.where(id: 1).first # 找出管理者 user.password = '你管理者的新密碼' # 設定密碼 user.password_confirmation = '你管理者的新密碼' user.save! # 儲存 ``` 完整執行結果 ![](https://i.imgur.com/7AsTXZH.png) 接下來就是再去 Gitlabl 主頁面登錄了 帳號一樣 root, 密碼則是你剛設定的密碼,假如成功就會看到以下的畫面, 如果你成功走到這步,恭喜你,Gitlab的環境大致上都建置完成了,接下來可以去系調一些設定了。 # 備註 在 Docker 的官網中,他有寫硬體需求,假如不到它的硬體需求的話,會在跑步驟3 時會非常非常的久。 [Docker官網硬體需求](https://docs.docker.com/docker-for-windows/install/) * 64 位元作業系統 * 至少 4GB 的 RAM 4GB 不過像是我本人的電腦是 8 GB 的 RAM,我不想讓他用太多 RAM 可以用以下的方法做設定。 到你的 Users/root 資料夾下,以我的來說就是到這裡 C:\Users\jimmy 然後新增一個 .txt 檔,內容打 ``` [wsl2] memory=4GB ``` 然後另存為 .wslconfig ,這樣就設定完了,記得要重開 Docker。這樣當你在執行 Docker 時,這個程式就不會占用太多記憶體 ![](https://i.imgur.com/KptpEHT.png) <font color=red>(注意:不要把 RAM 設小於 4 GB 不然他會建置很慢)</font> # 結語 如果能用 linux 系統就盡量用 linux,用 Windows 架這個東西問題一堆,有夠痛苦的。 ###### tags: `CI/CD` `Windows 10` `Gitlab` `Docker` `Tutorials`