基於Ubuntu下以Docker方式gitlab軟體的部署

JerryMouseLi發表於2021-06-29

基於Ubuntu下以Docker方式gitlab軟體的部署

環境:

linux宿主機版本:ubuntu 20.04
虛擬機器版本: VMWare 16.1.2
gitlab版本:14.0

1.安裝Docker Compose

之所以沒有采用docker engine 是因為doker compose有yml配置檔案易於記錄,方便管理。

1.1 下載curl

已經下載次軟體的可忽略。

1.2 安裝compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

1.3 增加可執權

sudo chmod +x /usr/local/bin/docker-compose

1.4 檢視compose版本

docker-compose --version

返回結果

docker-compose version 1.29.2, build 5becea4c

2.建立docker-compose.yml配置檔案

2.1 配置檔案內容如下

web:
  image: 'gitlab/gitlab-ee:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.example.com'
      # Add any other gitlab.rb configuration here, each on its own line
  ports:
    - '80:80'
    - '443:443'
    - '22:22'
  volumes:
    - '/home/gitlab/config:/etc/gitlab'
    - '/home/gitlab/logs:/var/log/gitlab'
    - '/home/gitlab/data:/var/opt/gitlab'

2.2 啟動gitlab

2.2.1 啟動之前安裝docker

有兩種安裝方式:

sudo snap install docker     # version 19.03.13, or
sudo apt  install docker.io  # version 20.10.2-0ubuntu1~20.04.2

我這裡採用snap方式安裝。
安裝好之後輸

docker --version

返回

Docker version 19.03.13, build cd8016b6bc

2.2.2 超級管理員模式執行

sudo docker-compose up -d

3.gitlab所必須的資料夾建立

/home/gitlab/config
/home/gitlab/logs
/home/gitlab/data

對以上路徑進行配置讀寫許可權

chmod 666 *

以上檔案的路徑要與配置檔案docker-compose.yml對應。

4.gitlab-console設定root使用者名稱密碼

4.1 登入gitlab所在容器

docker exec -it 11c /bin/bash

4.2 登陸控制檯

gitlab-rails console -e production

4.3 找到root使用者

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

輸出

=> #<User id:1 @root>

4.4 修改密碼並儲存

irb(main):005:0> user.password=12345678
=> 12345678
irb(main):006:0> user.password_confirmation=12345678
=> 12345678
irb(main):007:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: 53d8c7ea-c523-43a1-a5e6-032c836f4870) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/22
=> true

4.5 登入介面登入

4.6 管理員賬戶登入之後介面

相關文章