Docker折腾记: (3)Docker Compose构建Gitlab,从配置(https,邮箱验证)到基本可用

本文详细记录了使用Docker Compose搭建Gitlab的过程,包括配置HTTPS、邮箱验证以及解决超时问题。通过 Docker 和 Docker Compose,实现Gitlab的快速部署和升级。同时,文章汇总了常见错误及其解决方案。
摘要由CSDN通过智能技术生成

前言

gitlab 11.1内置了CI/CD,这个特性从gitlab 8+就开始有了,不过配置比较琐碎

经过几个大版本的迭代,现在已经简化了使用方式,也修复了一些坑,这个特性大大吸引了我;

gitlab拥有的特性很齐全,包括了第三方登录,二步验证,SSH,GPG签名等等

所以对于好东西不拿来用太对不起自己,于是开始了漫漫的爬坑之路;

由于东西是部署在公司内的,所以就不开放访问了,但是可以参考下我的大体配置;

至于为什么采用docker来部署,好迁移,升级也方便(因为数据和配置文件是独立的)

前置基础

基础环境

  • Debian Linux 9
  • Docker 18.06 , gitlab镜像用的gitlab官方提供的gitlab-ce,好处如下
    • 官方的,用的放心,更新频率高(能与时俱进) - 这个教程用的是当前最新的11.1
    • 一键安装(因为类似postgresql,ruby,nginx)这类的基础的环境都包括进去了
    • 只暴露主配置文件/数据库存放位置/还有日志,
      • 升级不用考虑数据的问题;对于业务不是很复杂的公司.能快速部署…

倘若想至于从0到1的构建(这种可以更细致针对业务进行配置),但要考虑的东西比较多;

有专业的运维和公司不缺钱的大佬可以折腾

必备知识

Linux/Docker && Docker Compose / Nginx

效果图

构建启动

这块的知识并不是gitlab,还是docker

  • 官方教程的基本启动姿势:
    • detack: 容器在后台运行并输出容器ID
    • publish: 就是暴露端口,简写-p
    • name: 容器名
    • restart: 什么时机会触发容器重启,所有情况
    • volume: 映射卷的,基本用来持久化数据的
# 官方基本姿势,docker直接启动
sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

三个volume就是暴露的位置

本地位置 容器位置 作用
/srv/gitlab/data /var/opt/gitlab gitlab的数据存放,包括nginx,postgresql这些
/srv/gitlab/logs /var/log/gitlab 日志存放
/srv/gitlab/config /etc/gitlab gitlab的主配置文件

传参启动

  • hostname:访问的域名
  • env: 这里面就是临时提权生效的
    • 这个就是可以给gitlab传入部分参数,让其构建过程读取你设置的值(gitlab.rb)并且生效
    • 官方说这个并不会写入gitlab.rb(就是gitlab的配置文件),只是临时生效(容器生存期间)

sudo docker run --detach \
    --hostname gitlab.example.com \
    --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest


docker-compose启动

我偏向于这种,所以写个构建规则,如下

第一版
version: '3.6'
services:
  gitlab:
    container_name: gitlab
    image: gitlab/gitlab-ce:latest
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

crper

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

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

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

打赏作者

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

抵扣说明:

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

余额充值