一Docker安装gitlab
#1:拉取gitlab镜像
docker pull gitlab/gitlab-ce
#2:启动容器(用的时候调整下命令,为了便于查看,有换行符)
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart=always --name gitlab -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:latest
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
# –privileged=true 要加上,不然可能因为权限问题导致启动失败
二修改gitlab配置
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,
生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。
作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb
vi /usr/local/gitlab/etc/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.47.210'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.47.210'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
# 重启gitlab容器
docker restart gitlab
接着再修改ssh_port,在vi中先按esc,再使用/ssh_port搜索到,然后进行修改,修改成8022,与上面启动时的端口对应:
然后我们再gitlab容器中重启gitlab-ctl,记住不是gitlab容器重启,而是gitlab-ctl.如果重启了容器,前面的配置无效。
gitlab-ctl restart
三修改root密码
# 进入容器内部
docker exec -it gitlab /bin/bash
# 进入控制台
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为as123456789?
user.password='as123456789?'
# 保存
user.save!
# 退出
exit;
然后就可以根据地址登录使用了
http://ip:8090/