下载Gitlab的Docker镜像
docker pull gitlab/gitlab-ce
运行如下命令来启动Gitlab
需要注意的是我们的Gitlab的http服务运行在宿主机的1080端口上,这里我们将Gitlab的配置,日志以及数据目录映射到了宿主机的指定文件夹下,防止我们在重新创建容器后丢失数据。
docker run --detach
--hostname gitlab.xiesn.com
--publish 10443:443 --publish 1080:80 --publish 1022:22
--name gitlab
--restart always
--volume /mydata/gitlab/config:/etc/gitlab
--volume /mydata/gitlab/logs:/var/log/gitlab
--volume /mydata/gitlab/data:/var/opt/gitlab
-e GITLAB_ROOT_PASSWORD=12345678
gitlab/gitlab-ce:latest
- 使用如下命令运行Gitlab服务,这里需要注意的是添加了hostname属性,这样我们就可以通过域名来访问Gitlab了(为了避免一些不必要的麻烦),
- GITLAB_ROOT_PASSWORD这个环境变量可以直接设置Gitlab中root账号的密码;
- 我们需要通过git.macrozheng.com这个域名来访问Gitlab,如果你没有域名的话,可以通过修改本机的host文件来实现;
192.168.7.134 gitlab.xiesn.com
- 由于我们的Gitlab运行在1080端口上,我们想要不加端口来访问,可以使用Nginx来反向代理下,在Nginx的配置文件夹中添加git.conf配置文件,内容如下:
server {
listen 80; # 同时支持HTTP
server_name gitlab.xiesn.com; #修改域名
location / {
proxy_pass http://192.168.56.10:1080; # 设置代理服务访问地址
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
- 之后我们就可以通过gitlab.xiesn.com这个域名来访问Gitlab了,输入账号密码root:12345678即可登录;
开启防火墙的指定端口
由于Gitlab运行在1080端口上,所以我们需要开放该端口,注意千万不要直接关闭防火墙,否则Gitlab会无法启动。
# 开启1080端口
firewall-cmd --zone=public --add-port=1080/tcp --permanent
# 重启防火墙才能生效
systemctl restart firewalld
# 查看已经开放的端口
firewall-cmd --list-ports
访问Gitlab
- 访问地址:http://192.168.3.101:1080/
- 由于Gitlab启动比较慢,需要耐心等待10分钟左右,如果Gitlab没有启动完成访问,会出现如下错误。
- 可以通过docker命令动态查看容器启动日志来知道gitlab是否已经启动完成。
docker logs gitlab -f
- 将我们的SpringBoot应用代码上传到Gitlab上去,这样Gitlab就准备完毕了!
- 这里需要注意的是,如果你在启动Gitlab的时候没有指定hostname的话,你的项目HTTP访问地址会是容器的ID,使用该地址会无法访问Git仓库!