如今最常用的代码版本控制工具当属git了,相对于命令行操作,我们更加需要一个web可视化界面来更好的进行管控我们的项目,GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,使用它可以帮助我们更好的进行团队协作开发项目,下面我们来使用docker快速搭建一个私有的git服务器吧。
一、准备工作
装有CentOs7的服务器
一、下载docker
#使用如下指令下载docker
yum -y install docker
二、运行docker
#使用如下指令运行docker
systemctl start docker
三、搜索gitlab镜像
#搜索gitlab中文社区版镜像
docker search gitlab
四、下载gitlab中文镜像
#输入如下指令下载gitlab中文镜像
docker pull twang2218/gitlab-ce-zh
五、配置并运行镜像
# 输入指令
docker run -d -p 443:443 -p 80:80 -p 22: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 twang2218/gitlab-ce-zh
# -d:后台运行
# -p:docker 服务器端口映射容器内部端口
# --name: docker容器命名,方便对该容器进行管理和操作
# --restart always:让该容器跟随docker重启而重启
# -v:将容器内配置文件、日志文件、数据文件挂载到外部文件夹中,方便操作
六、修改gitlab配置信息
至此,gitlab已经可以运行使用了,但是在gitlab上创建项目的时候,生成的项目访问Url是按照容器id来生成的,但是作为git服务器,我们的项目需要一个固定的访问Url,所以我们需要对gitlab的配置文件gitlab.rb(完整路径:/home/gitlab/config/gitlab.rb)进行一些修改:
# 输入指令
vi /home/gitlab/config/gitlab.rb
# 修改http访问地址(支持ip地址和域名),端口号不写默认为80
external_url 'http://你的ip地址'或'http://你的域名'
# 修改ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '你的ip地址'或'你的域名'
gitlab_rails['gitlab_shell_ssh_port'] = 22 # 此端口指的是docker内部端口,在执行run指令的时候,我们将服务器的22端口映射到容器的22端口,所以填写22
七、重启gitlab容器
#输入指令
docker restart gitlab
八、注意事项
- 我们在运行gitlab容器的时候,使用容器的222端口映射服务器的22端口,而服务器上SSH服务默认端口也是22,这样会产生端口冲突,所以需要修改两者之一的端口号:
1.1 修改服务器的SSH端口号,使用非22端口(推荐)
个人比较推荐这种方式,这样做服务器会更加安全,同时在管理项目版本库的时候也更加方便,不用额外写明端口号。#1.输入指令 vi /etc/ssh/sshd_config #2.将Port的值改成223,前面的#号删除 Port 223 #3.输入如下指令重启ssh服务 systemctl restart sshd
1.2 修改容器的SSH端口号
修改gitlab容器的端口映射关系,-p 222:22#1.使用如下命令删除原先容器 docker rm gitlab #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 twang2218/gitlab-ce-zh
- 浏览器中输入你设置好的ip或者域名就能访问你的gitlab了,第一次访问时需要你设置不少于八位数的密码,用户名是root,就可以进入登录页面了。