搭建 gitlab 私有仓库

1.拉取镜像

docker pull gitlab/gitlab-ce

2. 启动容器

docker run -itd  \
 -p 9980:80 \
 -p 9922:22 \
 -v /home/gitlab/etc:/etc/gitlab  \
 -v /home/gitlab/log:/var/log/gitlab \
 -v /home/gitlab/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab \
 gitlab/gitlab-ce

命令解释:

-i	 以交互模式运行容器,通常与 -t 同时使用命令解释
-t	 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d	 后台运行容器,并返回容器ID
-p 9980:80	将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口
-p 9922:22	将容器内22端口映射至宿主机9922端口,这是访问ssh的端口
-v /home/gitlab/etc:/etc/gitlab	将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
--restart always	容器自启动
--privileged=true	让容器获取宿主机root权限
--name gitlab	设置容器名称为gitlab
gitlab/gitlab-ce	镜像的名称,这里也可以写镜像ID

修改配置文件

1)进入容器

docker exec -it gitlab /bin/bash

修改配置文件

vi /etc/gitlab/gitlab.rb

在开头加入一下内容:

#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.74.128'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.74.128'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

gitlab 创建go 仓库 gitlab建立本地仓库_docker

让配置生效:

gitlab-ctl reconfigure

最后出现:gitlab Reconfigured!

 

重启gitlab服务:

gitlab-ctl restart

输出:

gitlab 创建go 仓库 gitlab建立本地仓库_git_02

gitlab 创建go 仓库 gitlab建立本地仓库_docker_03

gitlab 创建go 仓库 gitlab建立本地仓库_root用户_04

 

查看root用户的密码

cat /etc/gitlab/initial_root_password

gitlab 创建go 仓库 gitlab建立本地仓库_gitlab 创建go 仓库_05

 

这个是root用户的初始化密码,最下面NOTE提示密码是24h 过期,所以需要登陆后修改一个新密码(见后文)。

或者可以在gitlab的服务中先配置,改完密码再登录。

# 进入控制台,需耐心等待
gitlab-rails console -e production
查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
修改密码为root123456
user.password='root123456'
保存
user.save!
退出

exit

gitlab 创建go 仓库 gitlab建立本地仓库_git_06

退出容器

exit

访问gitlab

访问地址需要换成刚刚配置的IP和端口

http://192.168.74.128:9980

gitlab 创建go 仓库 gitlab建立本地仓库_gitlab 创建go 仓库_07

使用root用户登录

gitlab 创建go 仓库 gitlab建立本地仓库_git_08

 

修改语言为中文

进入系统后,点击右上角按钮,点击 Edit profile

gitlab 创建go 仓库 gitlab建立本地仓库_docker_09

gitlab 创建go 仓库 gitlab建立本地仓库_gitlab 创建go 仓库_10

修改密码

点击左侧菜单的 密码,输入初始密码和新密码后点击 保存密码即可。

提示:新密码长度最少8位

gitlab 创建go 仓库 gitlab建立本地仓库_git_11

修改成功后,会返回到登录页面,提示修改成功需重新登录

gitlab 创建go 仓库 gitlab建立本地仓库_docker_12

根据自己工作的需求,选择开启或关闭注册账户功能

gitlab 创建go 仓库 gitlab建立本地仓库_root用户_13