参考:https://www.cnblogs.com/zuxing/articles/9329152.html
准备工作
gitlab正常运行大约需要3G内存,服务器推荐准备4G,否则启动服务,访问都会很卡。有的是通过虚拟机运行,同样推荐虚拟机内存为4G。对CPU没什么要求,单处理器单核心就可以。
1、拉取镜像
docker pull gitlab/gitlab-ce
如果速度慢可以参考镜像加速https://www.jianshu.com/p/8f39f03b0e4f
2、准备目录:配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外
mkdir -p /home/yangkunlin/gitlab/etc
mkdir -p /home/yangkunlin/gitlab/log
mkdir -p /home/yangkunlin/gitlab/data
3、运行镜像 使用unless-stopped 作为重启策略,可以手工停止容器
docker run \
--detach \
--publish 8443:443 \
--publish 8888:80 \
--name gitlab \
--restart unless-stopped \
-v /home/yangkunlin/gitlab/etc:/etc/gitlab \
-v /home/yangkunlin/gitlab/log:/var/log/gitlab \
-v /home/yangkunlin/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
4、配置GitLab主机名
修改/home/yangkunlin/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
vim /home/yangkunlin/gitlab/etc/gitlab.rb
image.png
修改/home/yangkunlin/gitlab/data/gitlab-rails/etc/gitlab.yml
vim /home/yangkunlin/gitlab/data/gitlab-rails/etc/gitlab.yml
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
image.png更新配置并重启后即可访问
进入容器
docker exec -it gitlab /bin/bash
执行命令
gitlab-ctl reconfigure比较耗时
gitlab-ctl restart
访问
http://192.168.23.129:8888
自动启动docker以及gitlab
systemctl enable docker 自动启动docker
gitlab随着docker的启动而自动启动,启动时间大约1分钟
docker ps -a 查看gitlab的启动状态
image.png
查看gitlab日志
进入容器
docker exec -it gitlab /bin/bash
查看
gitlab-ctl tail
安装日志history
2 yum install -y yum-utils device-mapper-persistent-data lvm2
4 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5 yum makecache fast
6 yum -y install docker-ce
7 systemctl start docker
8 sudo mkdir -p /etc/docker
9 sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://0jvn786w.mirror.aliyuncs.com"]
}
EOF
10 sudo systemctl daemon-reload
11 sudo systemctl restart docker
14 docker search gitlab
15 docker ps -a
16 docker search gitlab
17 docker pull gitlab/gitlab-ce
18 mkdir -p /home/yangkunlin/gitlab/etc
19 mkdir -p /home/yangkunlin/gitlab/log
20 mkdir -p /home/yangkunlin/gitlab/data
23 docker run --detach --publish 8443:443 --publish 9999:80 --name gitlab --restart unless-stopped -v /home/yangkunlin/gitlab/etc:/etc/gitlab -v /home/yangkunlin/gitlab/log:/var/log/gitlab -v /home/yangkunlin/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
25 vim /home/yangkunlin/gitlab/etc/gitlab.rb
28 vim /home/yangkunlin/gitlab/data/gitlab-rails/etc/gitlab.yml
29 docker exec -it gitlab /bin/bash
32 docker stop gitlab
33 docker start gitlab
5、其他问题
5.1、启动容器后,无法访问
虚拟机下容器启动后,本机访问可以访问,外部无法访问。ip可以ping通,telnet端口连接不通。
开始以为是服务器断电,造成数据损坏。但jenkins的端口9002可以telnet通,停掉jenkins,新建gitlab容器,将端口关联到9002端口。创建容器的时候报错
WARNING: IPv4 forwarding is disabled. Networking will not work.
解决办法:
vim /etc/sysctl.conf
添加如下代码:net.ipv4.ip_forward=1
systemctl restart network
5.2、断电后启动报503错误
容器内通过gitlab-ctl status查看状态,发现gitaly和prometheus启动异常
删除/var/opt/gitlab/gitaly/gitaly.pid
重启执行gitlab-ctl restart
恢复正常
网友评论