Docker部署GitLab 14.0
一、部署環(huán)境說明
本文中使用本地VM虛機部署測試。
OS:CentOS Linux release 7.8.2003 (Core) 3.10.0-1160.24.1.el7.x86_64
IP:192.168.168.100
Docker Version:v20.10.7
Docker Compose:v1.29.2
虛機配置:2核CPU、4G內(nèi)存
注:①系統(tǒng)為最小化安裝,部署前已完成系統(tǒng)初始化、內(nèi)核及安全優(yōu)化;
②Docker及Docker Compose已安裝;
③Iptables防火墻已啟用,Docker服務(wù)啟動容器時映射的端口會自動添加至Iptables防火墻相關(guān)規(guī)則中,不需要手動更改Iptables規(guī)則。
二、Docker方式部署
官方倉庫鏡像:
https://hub.docker.com/r/gitlab/gitlab-ce
官方部署文檔:
https://docs.gitlab.com/ce/install/docker.html#installing-gitlab-community-edition
1.拉取最新版本鏡像
- docker pull gitlab/gitlab-ce:latest
2.構(gòu)建容器
## 創(chuàng)建數(shù)據(jù)、日志及配置文件目錄,用于掛載,實現(xiàn)數(shù)據(jù)持久化
- mkdir -p /data/gitlab/{data,logs,config}
## 構(gòu)建容器
- docker run -d --restart=always \
- --hostname gitlab --name=gitlab \
- -p 5443:443 -p 90:80 -p 1122:22 \
- -v /etc/localtime:/etc/localtime \
- -v /data/gitlab/config:/etc/gitlab \
- -v /data/gitlab/logs:/var/log/gitlab \
- -v /data/gitlab/data:/var/opt/gitlab \
- gitlab/gitlab-ce:latest
## 部分參數(shù)說明
- -d:后臺運行容器
- --restart=always:在容器退出時總是重啟容器(--restart選項通常只用于detached后臺啟動模式的容器)
- --hostname gitlab:指定容器的主機名為gitlab
- --name=gitlab :指定容器名稱為gitlab
- -p 5443:443 -p 90:80 -p 1122:22 :端口映射,映射宿主機的5443端口到容器內(nèi)的443端口,映射宿主機的90端口到容器內(nèi)的80端口,映射宿主機的1122端口到容器內(nèi)的22端口。注:宿主機的端口可自定義沒被應(yīng)用服務(wù)占用的端口。
## 目錄映射說明
3.查看容器
- docker ps -a

4.配置GitLab服務(wù)的訪問地址
## 修改gitlab的配置文件
- vi /data/gitlab/config/gitlab.rb
- 或
- docker exec -it gitlab vi /etc/gitlab/gitlab.rb
- //配置http協(xié)議所使用的訪問IP地址
- external_url 'http://192.168.168.100'

注:設(shè)置 external_url ,綁定監(jiān)聽的域名或IP或IP+端口。若GitLab需通過公網(wǎng)訪問,最好配置域名加HTTPS;若是內(nèi)部網(wǎng)絡(luò)訪問,則可配置IP或IP+端口,也可配置域名,用戶通過配置本地hosts解析訪問。本文中為測試,使用IP方式,即 http://192.168.168.100。因構(gòu)建容器時映射的是80端口。
## 方法一:重啟容器
- docker restart gitlab
## 方法二:重新加載GitLab配置
- docker exec -it gitlab gitlab-ctl reconfigure
- //reconfigure需要時間,請耐心等待
5.測試訪問
## 查看初始化管理員帳戶密碼,密碼存儲在容器內(nèi)的
/etc/gitlab/initial_root_password (即宿主機上的 /data/gitlab/config/initial_root_password )文件中。本文中初始化管理員帳戶生成的密碼為:2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=

## 瀏覽器打開http://192.168.168.100:90即可訪問到gitlab,因啟動容器時,端口做了映射,使用訪問時需加上端口。

## 輸入初始化默認(rèn)管理員賬戶: root 密碼:
2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=,登錄。

## 登錄成功后的首頁。

## 接下來就可以使用GitLab了,本文中不一一闡述。
三、Docker Compose方式部署
1.下載docker-compose文件(也可不下載文件修改,直接創(chuàng)建)
- mkdir -p /data/gitlab
- cd /data/gitlab
- wget https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/docker/docker-compose.yml
2.創(chuàng)建數(shù)據(jù)、日志及配置文件目錄,用于掛載,實現(xiàn)數(shù)據(jù)持久化
- mkdir -p /data/gitlab/{data,logs,config}
3.修改docker-compose文件
- cd /data/gitlab
- vi docker-compose.yml
- //修改hostname、external_url、ports、volumes參數(shù)選項值,增加container_name參數(shù)選項及對應(yīng)值,如下
- web:
- image: 'gitlab/gitlab-ce:latest'
- restart: always
- hostname: 'gitlab'
- container_name: gitlab
- environment:
- GITLAB_OMNIBUS_CONFIG: |
- external_url 'http://192.168.168.100'
- ports:
- - '90:80'
- - '5443:443'
- - '1122:22'
- volumes:
- - '/data/gitlab/config:/etc/gitlab'
- - '/data/gitlablogs:/var/log/gitlab'
- - '/data/gitlab/data:/var/opt/gitlab'
4.啟動容器
- cd /data/gitlab
- docker-compose -f docker-compose.yml up -d

5.查看運行狀態(tài)
- docker ps -a
- 或
- docker-compose ps

6.測試訪問
## 查看初始化管理員帳戶密碼,密碼存儲在容器內(nèi)的
/etc/gitlab/initial_root_password (即宿主機上的 /data/gitlab/config/initial_root_password )文件中。本文中初始化管理員帳戶生成的密碼為:EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=

## 瀏覽器打開http://192.168.168.100:90即可訪問到gitlab,因啟動容器時,端口做了映射,使用訪問時需加上端口。

## 輸入初始化默認(rèn)管理員賬戶: root 密碼:
EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=,登錄。

## 登錄成功后的首頁。

## 接下來就可以使用GitLab了,本文中不一一闡述。
四、修改超級管理員密碼
方法可參考之前本人發(fā)布的文章第八點:
https://www.toutiao.com/item/6982016081162469925/