---
# System prepended metadata

title: 在 Windows 建置 Docker 環境並架設 Gitlab
tags: [' Gitlab', CI/CD, ' Tutorials', ' Docker', ' Windows 10']

---

---
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`



