使用Docker安装配置GitLab

前言

《CentOS7安装配置GitLab》一文中学习了GitLab的安装方法,如果使用Docker来安装GitLab,可以简单很多。

前置条件是安装配置好了docker环境,安装方法参考《Docker入门》。已知docker宿主机IP为192.168.56.130。

安装GitLab

1、登录dockerhub查看需要的GitLab Docker images

2、下载gitlab镜像(以12.6.1-ce.0版本为例)
docker pull gitlab/gitlab-ce:12.6.1-ce.0

3、启动gitlab服务

1
2
3
4
5
6
7
docker run --name vk-gitlab -d  \
-p 80:80 -p 443:443 -p 3422:22 \
--restart always \
-v /opt/gitlab/config:/etc/gitlab \
-v /opt/gitlab/logs:/var/log/gitlab \
-v /opt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:12.6.1-ce.0

以上命令:

  • 命名容器为vk-gitlab,后台运行
  • 映射宿主机80、443、3422端口到容器80、443、22端口
  • 意外关闭后自动重启
  • 挂载三个宿主机目录到容器

4、验证安装
docker ps
gitlab启动正常的话就可以看到vk-gitlab容器。
如果启动失败,可以使用docker logs vk-gitlab查看失败原因并进行解决。

验证GitLab

开放端口

1
2
3
4
5
6
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --add-port=3422/tcp --permanent
systemctl reload firewalld
# 或者
systemctl stop firewalld

端口验证

1
2
nc -v localhost 22
nc -v localhost 3422

可以看到两个端口的返回结果不同:
SSH-2.0-OpenSSH_7.4
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.8

服务验证

宿主机测试:curl localhost -L
浏览器测试:http://192.168.56.130

配置GitLab

http域名访问

1、配置url和ssh协议端口
vim /opt/gitlab/config/gitlab.rb,如下修改:

1
2
3
4
5
6
# line 23, uncomment and change
external_url 'http://gitlab.voidking.com'
# line 56, uncomment and change
gitlab_rails['gitlab_ssh_host'] = 'gitlab.voidking.com'
# line 456, uncomment and change
gitlab_rails['gitlab_shell_ssh_port'] = 3422

该配置的效果是,当用户在gitlab项目页面点击Clone时,Clone with HTTP和Clone with SSH的结果类似于:

1
2
http://gitlab.voidking.com/root/voidking.git
ssh://git@gitlab.voidking.com:3422/root/voidking.git

2、重启vk-gitlab
docker restart vk-gitlab

3、修改主机hosts

1
192.168.56.130  gitlab.voidking.com

4、测试访问
浏览器访问:http://gitlab.voidking.com

https域名访问

参考《CentOS7安装配置GitLab》添加SSL一节,生成证书,配置gitlab使用证书,并且添加到浏览器。

0%