官方教程

下载镜像

$ 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_yum命令详解

    一.yum命令语法 yum [options] [command] [package ...] 二.yum命令常用的选项: yum options -y //自动回答为"yes" ...

  2. python基础之流程控制(if判断和while、for循环)

    程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...

  3. 7.6 passwd:修改用户密码

    7.6 passwd:修改用户密码     passwd命令可以修改用户密码及密码过期时间等内容,是工作中很常用的命令.普通用户和超级用户都可以运行passwd命令,但普通用户只能更改自身的用户密码, ...

  4. Centos7 离线安装python3 Django

    安装python 1..下载Python3源码包 下载地址:www.python.org/ftp/python/ 2.安装python前的库环境 yum install gcc patch libff ...

  5. mysql开启远程访问和oracl用户锁定问题

    开启mysql远程访问 Grant all privileges on *.* to 'root'@'%' identified by 'root'; Flush privileges; oracl锁 ...

  6. http keep-alive 的一些理解

    在日常的工作中涉及到了关于检测用户是否在线的功能需求,在方案设计过程中考虑过使用http-keepalive的方式,由于我们获取到的keepalive是经过nginx转发的keep-alive,所以最 ...

  7. protege 构建本体

    这里我们使用的是Protégé-OWL规范. 推理机后的内容主要是实操内容,根据推理机来对protege本体模型的一个操作过程,以加深本体模型的一个规范认识. 一.什么是本体(Ontologie) 本 ...

  8. 【分布式】-- 基于Nacos、OpenFeign搭建的微服务抽奖系统后台小案例

    1.项目介绍 最近入项目之前要求熟悉一下SpringCloud Nacos微服务基于Feign接口调用并整合Swagger2进行接口文档展示给前端,所以自己按照要求来编写并整合了一套基于SpringC ...

  9. unity lua require dofile loadfile 区别

    oadfile,加载文件,编译文件,并且返回一个函数,不运行 dofile其实就是包装了Loadfile,根据loadfile的返回函数运行一遍 require加载文件的时候,不用带目录,有lua自己 ...

  10. Ubuntu下安装与卸载Nginx

    1.Ubuntu下安装Nginx比较简单 敲入下列命令即可: sudo apt-get update sudo apt-get install nginx 2.Ubuntu下卸载,稍不注意就会入坑 s ...