官方教程

下载镜像

$ docker pull gitlab/gitlab-ce:latest

创建相关目录

$ mkdir -p /home/gitlab/config /home/gitlab/logs /home/gitlab/data

运行镜像

$ docker run -d -h gitlab -p 80:80\

-v /home/gitlab/config:/etc/gitlab \

-v /home/gitlab/logs:/var/log/gitlab \

-v /home/gitlab/data:/var/opt/gitlab \

--restart always --name gitlab gitlab/gitlab-ce:latest

或(端口22是SSH使用,注:与系统冲突,如需使用请调整端口

$ docker run -d -h gitlab  -p 22:22  -p 80:80 -p 443:443 \

-v /home/gitlab/config:/etc/gitlab \

-v /home/gitlab/logs:/var/log/gitlab \

-v /home/gitlab/data:/var/opt/gitlab \

-v /etc/letsencrypt:/etc/letsencrypt \

--restart always --name gitlab gitlab/gitlab-ce:latest

参数说明:

--detach: 设置容器后台运行

--hostname: 设置容器的 hostname

--publish: 端口转发规则(80:Http 访问端口,443:Https 访问端口,8888:主机的 ssh 访问端口,22:Docker 容器中 ssh 访问端口)

--name:容器名称

--restart always:每次启动容器就重启GitLab

--volume: 共享目录挂载,即 docker 容器内外数据共享(/home/gitlab/data: 应用程序数据,/home/gitlab/logs:GitLab 的 log,/home/gitlab/config:GitLab 的配置文件)

--e:配置 Gitlab 运行的环境变量

初次使用gitlab时需要创建默认管理员密码,至少8位,这里输入“12345678”。

默认用户:root

启用 HTTPS

配置方法一:链接证书

GitLab 默认配置会寻找存放在 /etc/gitlab/ssl/ 目录下的 gitlab.example.com.key 和 gitlab.example.com.crt 文件,其中的 gitlab.example.com 应当替换为在上文中 external_url 里设置的域名

链接证书需要用到 fullchain.pem 和 privkey.pem 证书文件,gitlab 默认使用 .crt 格式的私钥,需要进行格式转换,就是改下文件后缀名就好了(fullchain.pem --> gitlab.example.com.crt,privkey.pem --> gitlab.example.com.key ),然后将改完后缀的文件复制到 gitlab 容器内 /etc/gitlab/ssl/ 目录下

可以通过如下命令来将之前通过 Let's Encrypt 申请的证书链接到所需的位置

# 使用 root 用户执行以下命令
$ mkdir -p /etc/gitlab/ssl
$ chmod 700 /etc/gitlab/ssl
$ cd /etc/gitlab/ssl
# 然后将`gitlab.example.com.crt` 和 `gitlab.example.com.key` 文件拷贝到该目录下

配置方法二:修改配置

编辑 GitLab 的配置文件

$ vim /etc/gitlab/gitlab.rb

# 容器内的证书文件位置
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem"

最后执行下面命令让配置生效

gitlab-ctl reconfigure

CentOS-Docker搭建GitLab的更多相关文章

  1. CentOS 7 搭建 GitLab

    概述 GitLab 是我在日常工作中使用的代码仓库管理系统,它带有非常友好的 Web 界面,并且功能丰富.下面将介绍我在 CentOS 7 上搭建 GitLab 的步骤,以及遇到的一些问题. 关于不同 ...

  2. [转帖]知乎专栏:正确使用 Docker 搭建 GitLab 只要半分钟

    正确使用 Docker 搭建 GitLab 只要半分钟 https://zhuanlan.zhihu.com/p/49499229 很多程序员在内网搭建 gitlab 都搭建的坑坑洼洼,不支持 htt ...

  3. 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境

    CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...

  4. Ubuntu Docker搭建GitLab以及常规配置使用

    安装启动实例 1.首先创建一个目录用于存放配置 sudo docker pull docker.io/gitlab/gitlab-ce sudo mkdir -p /root/docker/gitla ...

  5. Docker 搭建 GitLab

    Docker 搭建 GitLab 步骤 # 创建目录 mkdir -p /usr/local/gitlab && cd /usr/local/gitlab # 创建映射目录 mkdir ...

  6. Centos7使用docker搭建gitlab服务器

    了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux rele ...

  7. 使用docker搭建gitlab服务器

    简单记录Docker的使用和GitLab的搭建 Docker基础篇 没有sudo权限 安装docker 基础命令 docker安装mysql和配置 Dockerfile常用命令 制作镜像 发布镜像 容 ...

  8. 基于docker搭建gitlab

    一.概述 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 它拥有与Github类似的功能,能够浏览 ...

  9. docker搭建gitlab服务器(Centos7)

    系统环境:CentOS Linux release 7.6.1810 (Core) git版本:gitlab/gitlab-ce 一.安装和启动docker 见HTTPRUNNERMANAGER安装部 ...

  10. 使用docker搭建gitlab版本控制系统

    1. GitLab 简介 GitLab 是一款基于 git 的开源代码仓库系统   GitLab 与著名的 GitHub 最大的区别就是:  允许我们搭建自己的 git 代码私有仓库,非常方便   2 ...

随机推荐

  1. JDK、JRE 和 JVM 的区别

    JDK JDK 是 Java Development Kit 的缩写,JDK 是 Java 语言的软件开发工具包( SDK ).它提供了Java 开发.编译.运行需要的文件和环境. 如果你是 Java ...

  2. strcasecmp函数和strncasecmp函数原型

    函数说明 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异. 返回值    若参数s1和s2字符串相同则返回0.s1长度大于s2长度则返回大于0 的值,s1 长度若小 ...

  3. Qt 设置中文

    1. 前言 在编写Qt应用程序时,有时会希望能直接设置中文字符串到界面,总结下其设置方法. 2. 设置中文 1)运行环境Qt5.5 VS2013 2)首先,查看需要设置中文的文件是否为UTF-8格式, ...

  4. 树莓派 PICO基础教程(基于MicroPython)

    目录 1 树莓派 PICO 简介 1.1 简介 1.2 配置 [^2] 1.3 引脚图 1.4 尺寸 2 安装 2.1 烧录固件 2.2 安装IDE(Thonny IDE) 2.3 离线运行程序 3 ...

  5. Celery 架构组成

    Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async task)和定时任务(cron ...

  6. GO学习-(9) Go语言基础之切片

    Go语言基础之切片 本文主要介绍Go语言中切片(slice)及它的基本使用. 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x ...

  7. CVPR2019论文观察:感知边缘检测的双向级联网络

    CVPR2019论文观察:感知边缘检测的双向级联网络 BDCN:Bi-Directional Cascade Network for Perceptual Edge Detection 摘要 探索多尺 ...

  8. 智能物联网(AIoT,2020年)(中)

    智能物联网(AIoT,2020年)(中) 05 中国AIoT产业图谱 06 中国AIoT商业模式 标准程度越低人力和时间成本投入越多,2B2C模式附加值高 07 中国AIoT玩家分布简介 四类玩家,优 ...

  9. 小伙伴们在催更Spring系列,于是我写下了这篇注解汇总!!

    大家好,我是冰河~~ 由于在更新其他专题的文章,Spring系列文章有很长一段时间没有更新了,很多小伙伴都在公众号后台留言或者直接私信我微信催更Spring系列文章. 看来是要继续更新Spring文章 ...

  10. 性能分析之CPU分析-从CPU调用高到具体代码行(JAVA)

      通常情况下,性能报告中只说CPU使用率高的时候,并不能帮助定位问题.因为CPU高会有多种不同的情况.CPU有五种状态(us sy id wa st), 在vmstat中能显示出来,这个想必很多人都 ...