基於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