Docker部署GitLab

作者: 殷临风 | 来源:发表于2017-08-27 16:52 被阅读585次

    现在docker越来越火, 很多开源服务纷纷支持docker, gitlab也不例外, 现在官方也支持docker部署. 在此之前, 也有第三方支持过docker, 安装步骤相对来讲会复杂一点, 会把gitlab, postgresqlredis分别打包成镜像, 然后通过容器连接使用, 这里不介绍这种方式.

    一. 确保机器上安装了docker并启动
    # 安装docker
    yum install docker
    # 启动docker
    systemctl start docker
    

    安装完成后建议配置加速器(比如阿里云镜像加速), 否则拉取镜像会非常慢, 特别是gitlab镜像, 还是非常大的

    二. 拉取镜像并启动
    # 拉取镜像
    docker pull gitlab/gitlab-ce
    # 启动
    docker run --detach \
    --publish 22443:443 --publish 2280:80  --publish 2222:22 \
    --name gitlab \
    --memory 4g \
    --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
    

    --publish 暴露了容器的三个端口, 分别是https对应的443, http对应80以及ssh对应的22(如果不需要配置https, 可以不暴露)
    --memory 限制容器最大内存暂用4G, 这是官方推荐的
    --volume 指定挂载目录, 这个便于我们在本地备份和修改容器的相关数据

    容器状态
    三. 修改配置文件并重启
    # 打开挂载的配置目录
    vi /srv/gitlab/config/gitlab.rb
    
    ###################################################
    # 添加外部请求的域名(如果不支持https, 可以改成http)
    external_url 'https://gitlab.yinnote.com'
    # 修改gitlab对应的时区 
    gitlab_rails['time_zone'] = 'PRC'
    # 开启邮件支持 
    gitlab_rails['gitlab_email_enabled'] = true
    gitlab_rails['gitlab_email_from'] = 'gitlab@yinnote.com'
    gitlab_rails['gitlab_email_display_name'] = 'Yinnote GitLab'
    # 配置邮件参数
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
    gitlab_rails['smtp_port'] = 25
    gitlab_rails['smtp_user_name'] = "gitlab@yinnote.com"
    gitlab_rails['smtp_password'] = "xxxxxx"
    gitlab_rails['smtp_domain'] = "yinnote.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = false        
    ###################################################
    

    (选配) 如果配置了https, 需要导入证书

    # 进入挂载配置目录
    cd /srv/gitlab/config
    # 创建密钥文件夹, 并放入证书
    mkdir ssl
    # 内容如下
    

    重启服务

    # 方法一: 重启容器(其中xxxxxx是容器id)
    docker restart xxxxxx
    
    # 方法二: 登陆容器, 重启配置
    docker exec -it  xxxxxx bash   
    gitlab-ctl reconfigure
    
    1. 通过ssh方式拉取代码时, 记住端口号是2222, 不是默认的22
    2. 如果没有配置https, 是无法通过https路径拉取代码的
    相关文档地址

    镜像地址 https://hub.docker.com/r/gitlab/gitlab-ce
    容器启动 https://docs.gitlab.com/omnibus/docker

    相关文章

      网友评论

        本文标题:Docker部署GitLab

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