1 下載docker
# 安裝依賴
yum install -y yum-utils device-mapper-persistent-data lvm2
# 設置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安裝docker
yum install -y docker-ce
# 設置開機啟動
systemctl enable docker
# 啟動 Docker
systemctl start docker
# 查看版本
docker version
2 下載gitlab鏡像
docker pull gitlab/gitlab-ce:latest
3 運行
mkdir gitlab gitlab/etc gitlab/log gitlab/opt
docker run -id -p 3000:80 -p 9922:22 -v /root/gitlab/etc:/etc/gitlab -v /root/gitlab/log:/var/log/gitlab -v /root/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name gitlab gitlab/gitlab-ce
'''
命令解釋:
-i 以交互模式運行容器,通常與 -t 同時使用命令解釋:
-d 后台運行容器,並返回容器ID
-p 3000:80 將容器內80端口映射至宿主機9980端口,這是訪問gitlab的端口
-p 9922:22 將容器內22端口映射至宿主機9922端口,這是訪問ssh的端口
-v ./gitlab/etc:/etc/gitlab 將容器/etc/gitlab目錄掛載到宿主機./gitlab/etc目錄下,若宿主機內此目錄不存在將會自動創建,其他兩個掛載同這個一樣
--restart always 容器自啟動
--privileged=true 讓容器獲取宿主機root權限
--name gitlab-test 設置容器名稱為gitlab
gitlab/gitlab-ce 鏡像的名稱,這里也可以寫鏡像ID
'''
4 進入容器內部修改
docker exec -it gitlab /bin/bash
# 修改gitlab.rb
vi /etc/gitlab/gitlab.rb
## 加入如下
# gitlab訪問地址,可以寫域名。如果端口不寫的話默認為80端口
external_url 'http://101.133.225.166'
# ssh主機ip
gitlab_rails['gitlab_ssh_host'] = '101.133.225.166'
# ssh連接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
# 讓配置生效
gitlab-ctl reconfigure
### 注意不要重啟,/etc/gitlab/gitlab.rb文件的配置會映射到gitlab.yml這個文件,由於咱們在docker中運行,在gitlab上生成的http地址應該是http://101.133.225.166:3000,所以,要修改下面文件
# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
gitlab:
host: 101.133.225.166
port: 3000 # 這里改為3000
https: false
# 重啟
gitlab-ctl restart
# 退出容器
exit

5 在瀏覽器里訪問
# 機器配置要大於4g,否則很容易啟動不了,報502
http://101.133.225.166:3000/
# 第一次訪問,會讓修改root密碼
# 修改后以root用戶登錄即可

6 修改root密碼(如果忘記請修改)
# 進入容器內部
docker exec -it gitlab /bin/bash
# 進入控制台
gitlab-rails console -e production
# 查詢id為1的用戶,id為1的用戶是超級管理員
user = User.where(id:1).first
# 修改密碼為lqz123456
user.password='lqz123456'
# 保存
user.save!
# 退出
exit
7 創建項目


后續操作就是git基本操作
