通过Docker搭建Gitlab仓库

1、更新apt或yum源(可先切换到国内镜像源,如阿里、网易、清华的镜像库)

sudo apt update
或者sudo yum update

2、安装docker-ce和docker-compose
sudo apt install dokcer-ce docker-compose -y
3、获取gitlab镜像
docker pull gitlab/gitlab-ce
4、创建docker-compose.yml,写入以下内容:

创建gitlab挂载目录,确保数据持久化,即使容器删除数据也不会丢失,只需重新执行docker-compose up -d即可

sudo mkdir /data/gitlab
version: '2'
services:
  gitlab:
    container_name: gitlab
    image: gitlab/gitlab-ce:latest
    ports:
      - "8800:80"
      - "2222:22"
    volumes:
      - /data/gitlab/config:/etc/gitlab
      - /data/gitlab/logs:/var/log/gitlab
      - /data/gitlab/data:/var/opt/gitlab
    network_mode: "bridge"
    restart: always
    labels:
      killbill: 'gitlab-registry'
      editor: 'huyindu'

【注以上docker-compose.yml中ports设置的是gitlab的访问端口,我目前设置的是http端口是8800,ssh端口2222,这个可以自行修改】

5、运行Gitlab容器,在docker-compose.yml所在文件夹下执行如下命令:
sudo docker-compose up -d
6、修改配置文件

从docker-compose.yml文件中我们可以看到,我们在运行时已经将配置文件挂载在/data/gitlab/config文件夹下,我们修改下默认配置

 cd /data/gitlab/config/
 vim gitlab.rb

删除以下几行前的 # 号,修改如下:

external_url 'http://ip地址:8800'
gitlab_rails['gitlab_ssh_host'] = 'ip地址'
gitlab_rails['gitlab_shell_ssh_port'] = 2222

重启gitlab容器

sudo docker restart gitlab

此时gitlib仓库已经运行,在浏览器访问http://ip地址:8800即可。如果是默认80端口,则访问时不需要输入端口号。

错误处理

docker部署gitlab,有可能出现settings在保存时报错500,
这个有可能是没有导入原来的加密信息/etc/gitlab/gitlab-secrets.json导致导致的,可以执行一下操作来解决

  • 进入运行的gitlab容器
sudo docker exec -it gitlab容器id bash
  • 切换到gitlab的进入rails控制台
gitlab-rails console
  • 执行以下命令
ApplicationSetting.current.reset_runners_registration_token!

此时应该返回true,则问题解决。
回到页面再次保存设置,成功!!

作者:killbill

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒醒去搬砖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值