搭建 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-ctl reconfigure
最后出现:gitlab Reconfigured!
重启gitlab服务:
gitlab-ctl restart
输出:
查看root用户的密码
cat /etc/gitlab/initial_root_password
这个是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
退出容器
exit
访问gitlab
访问地址需要换成刚刚配置的IP和端口
使用root用户登录
修改语言为中文
进入系统后,点击右上角按钮,点击 Edit profile
修改密码
点击左侧菜单的 密码,输入初始密码和新密码后点击 保存密码即可。
提示:新密码长度最少8位
修改成功后,会返回到登录页面,提示修改成功需重新登录
根据自己工作的需求,选择开启或关闭注册账户功能