在 Dokcer 上安裝 GitLab

Chao-Hsuan Ke
小小實驗室
Published in
5 min readSep 20, 2021

在 Unix-base 下要安裝 gitlab 很簡單,特別是用 docker 安裝更是簡單,在此紀錄一下安裝的過程以及遇到的問題及解法,讓自己以後可以參考。

整個流程是在macOS上安裝GitLab,環境為:

  • macOS Big Sur (11.5.2)
  • Docker 20.10.8

1. 下載與安裝 docker

要在 docker 上安裝,當然是要先下載 docker :

a. 下載 gitlab-ce (community edition)最新的docker映像檔

docker pull gitlab/gitlab-ce:latest 

b. 下載完成後確認下載狀況

docker images

2. 下載 gitlab image

a. 建立 gitlab 資料夾,以便存放 gitlab container 的應用程式資料(datas)、日誌(logs)與及配置檔 (config)。

mkdir -p {location}/gitlab

{location}為要存放的目錄位置,例如 mkdir -p /home/gitlab

b. 設定 gitlab 環境變數

新增 GITLAB_HOME 此變數作為 gitlab 的位置變數

export GITLAB_HOME={location}/gitlab

3. 安裝 gitlab

輸入下面指令運行 gitlab container

docker run --detach \
--hostname gitlab.com \
--name gitlab \
--restart always \
--publish 10443:443 --publish 10080:80 --publish 10022:22 \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

參數說明:

  • --detach:以背景模式執行
  • --hostname:設定container內部的域名
  • --name:設定container的名稱
  • --restart:電腦啟動自動重啟
  • --publish:把本機的 port 映射到container 的 port
  • --volume:把本機檔案系統目錄映射到container的目錄

d. 確認啟動狀態

安裝完成後為確認是否以正確啟動,可以查看 docker 狀況

docker ps

之後在瀏覽器輸入 localhost:10080 即可看到註冊的畫面,那就表示已經完成安裝。

雖然完成了安裝,然而此時可能遇到一個問題:無法登入

此時需要進入 container 去修改 docker 密碼:

docker exec -ti gitlab bash

進入之後,用 root 權限執行如下指令,可以進入Ruby on Rails console

gitlab-rails console -e production

抓取第一位使用者 (因為剛安裝完成,所以沒有其他的註冊者帳號,此時第一位的使用者帳號會是 root)

user = User.where(id: 1).first

輸入 user 可以查看此名稱

user

此時 user 確定為 root 時就可以進行密碼變更,則執行以下指令

user.password = '{新密碼}'
user.password_confirmation = '{新密碼}'

最後儲存,並 Ctrl+d 即可完成

user.save!

如此變更密碼後就可以以 root 帳號使用新密碼登入

--

--

Chao-Hsuan Ke
小小實驗室

永遠熱愛自己的工作,總是找一堆事把自己的時間塞滿。喜歡接觸不同領域,像是 歷史、文化、金融和公共政策 等議題,期許著自己會什麼就分享什麼。