官方教程

下载镜像

$ 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. Linux系统函数read()/write()/pread()/pwrite()的区别-(转自CSDN网络)

    在Linux和UNIX中有很多的输入输出函数,有时真是让想跟它攀点关系的菜鸟们束手无策.先来看看都有哪些函数,通过解析与总结,看看能不能让大家能这些函数有个理性的认识,哦,原来是这么回事,也就算我没白 ...

  2. 3.2-3 tac、more

    3.2 tac命令 是cat的反向拼写,因此命令的功能为反向显示文件内容.cat命令是从第一行开始读取文本输出的,而tac则是从最后一行开始读取文本并进行反向输出,需要注意的是,2个命令都是以一行文本 ...

  3. Linux Access.conf安全配置

    access.conf is the configuration file used to logins to the Linux or Unix systems. This file is loca ...

  4. 10.8 ss:查看网络状态

    ss命令 是类似并将取代netstat的工具,它能用来查看网络状态信息,包括TCP.UDP连接.端口等.它的优点是能够显示更多更详细的有关网络连接状态的信息,而且比netstat更快速更高效.    ...

  5. Dubbo以及Zookeeper安装

    1.什么是Dubbo? Apache Dubbo 是一款高性能.轻量级的开源 Java 服务框架 提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展 ...

  6. 使用shell脚本循环处理文本

    公司是使用puppet来进行配置管理, 某天修改完puppet后领导回复: 我们有一个文档cabinet.txt记录了物理机器所在的机柜, 除了文档里的其他机器都是虚拟机或云服务器, 对虚拟机的pup ...

  7. JVM学习心得—JVM内存模型(个人整理,请勿转载)

    一.运行时数据区域 线程私有的:程序计数器+虚拟机栈+本地方法栈 线程共享的:堆+方法区(运行时常量池)+直接内存(非运行时数据区的一部分) *JDK1.8后将方法区废除,新增元空间. 1.1 程序计 ...

  8. 自定义 DataLoader

    自定义 DataLoader 如 数据输入 一文所介绍,OneFlow 支持两种数据加载方式:直接使用 NumPy 数据或者使用 DataLoader 及其相关算子. 在大型工业场景下,数据加载容易成 ...

  9. MindSpore基本原理

    MindSpore基本原理 MindSpore介绍 自动微分 自动并行 安装 pip方式安装 源码编译方式安装 Docker镜像 快速入门 文档 MindSpore介绍 MindSpore是一种适用于 ...

  10. CUDA C编程接口技术分析

    CUDA C编程接口技术分析 编程接口 CUDA C为熟悉C编程语言的用户提供了一个简单的路径,可以方便地编写程序供设备执行. 它由C语言的最小扩展集和运行库组成. 核心语言扩展已经引入:cuda c ...