官方教程

下载镜像

$ 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. 小白菜Windows10系统安装Linux(ubuntu)虚拟机超详细教程(全)

    注:本文"(         )"中的内容可忽略 1.下载VMware(威睿 计算机虚拟化软件) 官方下载地址 默认为最新版15.1.0,我们选择立即下载 (找一个比较大的盘不要是 ...

  2. Spring5学习 (核心)

    Spring5 官方文档:https://docs.spring.io/spring/docs/5.3.0-SNAPSHOT/spring-framework-reference/index.html ...

  3. scala :: , +:, :+ , ::: , ++ 的区别

    4 种操作符的区别和联系 :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表.用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元 ...

  4. linux进阶之子网划分

    一.定义 当我们对一个网络进行子网划分时,基本上就是将它分成小的网络.比如,当一组IP地址指定给一个公司时,公司可能将该网络"分割成"小的网络,每个部门一个.这样,技术部门和管理部 ...

  5. Java核心技术卷阅读随笔--第3章【Java 的基本程序设计结构】

    Java 的基本程序设计结构 现在, 假定已经成功地安装了 JDK,并且能够运行第 2 章中给出的示例程序.我们从现在开始将介绍 Java 应用程序设计.本章主要介绍程序设计的基本概念(如数据类型.分 ...

  6. Java基础语法,常用知识复习

    1.开发环境搭建 1.1JDK.JRE.JVM.的关系 JDK = JRE + 开发工具集(例如javac编译工具集等) JRE = JVM + Java SE 标准类库 2.基本语法 2.1.jav ...

  7. 灵动微电子ARM Cortex M0 MM32F0010 Timer定时器中断定时功能的配置

    灵动微电子ARM Cortex M0 MM32F0010 Timer定时器中断定时功能的配置 目录: 1.Timer1高级定时器Timer3通用定时器Timer14基本定时器简介 2.Timer1高级 ...

  8. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  9. js 字典与Map对象

    本文链接:https://blog.csdn.net/qq_35014708/article/details/89458175

  10. 十二、iptables基本管理

    关闭firewalld,启动iptables服务 [root@proxy ~]# systemctl stop firewalld.service     //关闭firewalld服务器 [root ...