gitlab搭建从0到1
centos上安装docker
官网上提供了三种安装方式,选了社区安装方式最多的方案安装,基本上copy/parst就好
-
安装相关依赖包
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 -
将docker稳定仓库源添加到包管理器
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装docker社区版
sudo yum install docker-ce docker-ce-cli containerd.io如果命令行上显示指纹匹配
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, 直接安装即可,这串指纹由官方提供 -
systemd 启动docker守护进程
sudo systemctl start docker
到目前为止,docker进程已经在centos上跑起来,可以通过
sudo docker run hello-world
来验证
通过docker安装gitlab
-
拉取社区版的gitlab镜像, 大概700多兆
sudo docker pull gitlab/gitlab-ce:latest -
跑gitlab镜像, 将镜像的443暴露到服务器的8443,镜像的80端口暴露到服务器的8080,镜像的22端口暴露到服务器的8022
sudo docker run --name gitlab --publish 8443:443 --publish 8080:80 --publish 8022:22 gitlab/gitlab-ce
至此,服务器上已经安装了gitlab,在浏览器中打开 http://${服务器ip}:8080 就可以看到登录页面了
注册账号,新建项目,结果准备clone的时候发现仓库地址是一堆乱码,字符串值为gitlab虚拟机的id,需要进去gitlab容器更改gitlab暴露url为服务器ip,具体操作如下
-
进入容器bash
sudo docker exec -it gitlab /bin/bash -
修改gitlab 配置
vim /etc/gitlab/gitlab.rb修改external_url 字段为你的ip,然后重启即可
-
重启gitlab
sudo docker restart gitlab -
可以看到仓库显示也正常了
踩坑
中间也踩了不少坑,有个坑很无语,记录下,在改gitlab配置的时候,手贱,在文件头不小心多敲了个 冒号,
然后导致gitlab重启无限失败,感觉不对劲,翻日志才发现,这里记录下解决过程
sudo docker ps -a // 查看当前镜像运行情况,发现gitlab一直是挂的
sudo docker logs gitlab // 查看gitlab启动日志,发现多了个冒号
sudo docker cp d4d53dae1200:/etc/gitlab/gitlab.rb ./tt // 由于之前没有把容器配置持久化保存到本机,所以将gitlab配置拷贝到主机修改,d4d53dae1200是gitlab镜像id,如果你知道配置在主机的哪个位置,直接改也可以
sudo docker cp ./tt d4d53dae1200:/etc/gitlab/gitlab.rb // 修改完拷贝回去
sudo docker restart gitlab // 重启