在docker下安装gitlab

1.环境

安装docker

在内网环境下使用docker安装gitlab,操作系统是centos 7版本,首先使用rpm包安装docker

sudo rpm -ivh xxx.xxx.rpm

一共需要安装三个包,centos在安装时会遇到自己依赖自己的问题,这个只需在后面加上--nodeps即可

sudo rpm -ivh xxx.rpm --nodeps

安装好之后启动docker

systemctl restart docker

验证是否启动成功

docker ps 
docker -v 

安装gitlab镜像

首先我是从一台能够访问公网的服务器下载的docker镜像, 镜像可以通过命令或者访问 hub.docker.com 进行查询之后进行下载

//在能够访问公网的情况下查看docker镜像
docker search gitlab
//下载gitlab镜像
docker  pull gitlab/gitlab-ce:latest

验证是否下载成功

docker images 

打包镜像,格式为tar包

docker save -o gitlab.tar gitlab/gitlab-ce:latest

打包好以后将tar包拷贝到内网服务器上,解压之后会变成docker镜像

docker load -i gitlab.tar

解压之后验证

docker images 

启动

这里我使用的启动方式是写了一个bash脚本,如下:

docker run  -d \
-p 80:80 \
--name the-gitlab \
 -v /app/gitlab/config:/etc/gitlab \
 -v /app/gitlab/logs:/var/log/gitlab \
 -v /app/gitlab/data:/var/opt/gitlab \
 gitlab/gitlab-ce:latest

赋予该文件执行权限

chmod +x xxx.sh

启动脚本

bash xxx.sh //第一种方式
./xxx.sh //第二种方式

验证是否启动成功

docker ps 
docker ps -a 

修改配置文件

gitlab需要修改gitlab.rb 文件,这样可以通过url访问到Git仓库

1.cd /app/gitlab/config
2.vim gitlab.rb
3.external_url 'http://ipaddress' //在配置文件中添加,ipaddress为宿主机ip,如不清楚可通过ifconfig 查看

进入容器重置gitlab

docker exec -ti the-gitlab /bin/bash
gitlab-ctl reconfigure
exit //退出容器,请等待重置完成后再退出
docker restart the-gitlab

至此,docker安装gitlab完成。

说明

  • gitlab内置postgres数据库,所以不需要再连其他数据库
  • 如需备份gitlab,请直接备份挂载到容器外面的/data目录,对应目录可看bash脚本中的-v 参数

内网启动sh文件时报错,提示没有权限,开始以为是当前用户没有加入到docker组里,后发现docker组已经存在,添加当前用户后依旧报错,经过百度查看是selinux搞的鬼,解决命令如下:

getenforce //查看selinux状态
setenforce 0 // 当时发现selinux状态为enforcing ,需要将其修改为Permissive
//永久更改
vim /etc/selinux/config
selinux=Permissive

完结 撒花~~~

上一篇:SELinux安全


下一篇:Centos7 Docker安装