美文网首页
【推荐】docker安装gitlab

【推荐】docker安装gitlab

作者: 夜色001 | 来源:发表于2019-07-13 19:07 被阅读0次

参考: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
恢复正常

相关文章

网友评论

      本文标题:【推荐】docker安装gitlab

      本文链接:https://www.haomeiwen.com/subject/zaimkctx.html