目录
前置要求:虚机内存至少4g,否则起不来(gitlab非常吃内存,4g内存也要启动好久)
1、安装docker环境
2、安装gitlab
1)拉取镜像
# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
2)运行gitlab镜像
$ docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
3)配置gitlab
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。
# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.199.231' #本机ip
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
4)重启gitlab
# 重启gitlab容器
$ docker restart gitlab
3、访问gitlab
访问配置的external_url地址。
如果出现此页面,且按照以上步骤配置的,耐心等待即可。gitlab是非常吃内存的,这只是服务没有完全起来。见下,我的4g在剩余100m时就启动成功了。
查看虚拟机内存占用:
[root@localhost ~]# free -mh
total used free shared buff/cache available
Mem: 3.7G 3.1G 119M 23M 482M 314M
Swap: 2.0G 255M 1.8G
4、登录
访问地址,账号默认是root,密码需要与容器交互后使用下面命令进行寻找。
docker exec -it 容器名字或容器ID grep 'Password:' /etc/gitlab/initial_root_password
[root@localhost ~]# docker exec -it 88a4ec30c3e7 grep 'Password:' /etc/gitlab/initial_root_password
Password: oRY2MJ/AfMYov7vCjJrP35UTxGlzjxPGHPEs3xyqtKE=
找到密码后,再次访问首页即可登录进去。进去后可以进行重置密码,这样Gitlab就在你的虚机或者服务器上部署完成了!