环境背景:

Docker化已经成为一种热门,记录一下使用docker引擎安装gitlab的过程。

测试环境:

系统 软件 依赖
CentOS 7.4 GitLab(latest) docker-ce 18

安装过程:

1. 安装docker引擎并启动

[root@server- ~]# yum install docker-ce -y    //需要去官方下载docker.repo文件
[root@server- ~]# systemctl enable docker
[root@server- ~]# systemctl start docker

2. 获取gitlab镜像包

[root@server- ~]# docker pull gitlab/gitlab-ce    //里面集成的东西较多,镜像可能比较大

查看下载好的镜像

[root@server- logs]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab/gitlab-ce latest 991cd608c116 weeks ago .59GB

3. 在本机准备gitlab工作目录

[root@server-10 ~]# mkdir -p /data/docker/gitlab/{config,data,logs}

以上在本机建立的3个目录是为了gitlab容器通过挂载本机目录启动后可以映射配置文件,数据文件,日志文件到本机,然后后续就可以直接在本机查看和编辑了,不用再进容器操作。

4. 启动gitlab(关键步骤)

[root@server- ~]# docker run -d \
--name gitlab \
--hostname gitlab \
--restart always \
-p : -p : -p : \        //根据需要增减映射相应端口
-v /data/docker/gitlab/config:/etc/gitlab \
-v /data/docker/gitlab/data:/var/opt/gitlab \
-v /data/docker/gitlab/logs:/var/log/gitlab \
gitlab/gitlab-ce:latest

说明:

-d:后台运行

--name:设置容器的名字;

--hostname:设置容器内主机的名字;

--restart:设置容器的重启策略,可选项: no | on-failure[:max-retries] | always | unless-stopped ;

-p(小写字母):映射端口,形式:[hostPort:]containerPort,如果不加主机端口,那么会在主机上生成随机端口;

-v(小写字母):挂载目录,形式:[HOST-DIR:]CONTAINER-DIR;

4. 检查启动信息

[root@server- ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c8cdd184582 gitlab/gitlab-ce:latest "/assets/wrapper" About a minute ago Up About a minute (health: starting) 0.0.0.0:->/tcp, 0.0.0.0:->/tcp, 0.0.0.0:->/tcp gitlab

启动需要一些时间,过一段时间后再次查看

[root@server- logs]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c8cdd184582 gitlab/gitlab-ce:latest "/assets/wrapper" 3 minutes ago Up minutes (healthy) 0.0.0.0:->/tcp, 0.0.0.0:->/tcp, 0.0.0.0:->/tcp gitlab

再查看本机端口状态

[root@server- ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0.0.0.0: 0.0.0.0:* LISTEN
tcp6 :::2222 :::* LISTEN
tcp6 ::: :::* LISTEN
tcp6 ::: :::* LISTEN
tcp6 ::: :::* LISTEN

查看本机为gitlab容器新建的工作目录内容

[root@server- ~]# tree -L  /data/docker/gitlab/
/data/docker/gitlab/
├── config
│ ├── gitlab.rb        // 主要配置文件
│ ├── gitlab-secrets.json
│ ├── ssh_host_ecdsa_key
│ ├── ssh_host_ecdsa_key.pub
│ ├── ssh_host_ed25519_key
│ ├── ssh_host_ed25519_key.pub
│ ├── ssh_host_rsa_key
│ ├── ssh_host_rsa_key.pub
│ └── trusted-certs
├── data
│ ├── backups
│ ├── git-data
│ ├── gitlab-ci
│ ├── gitlab-rails
│ ├── gitlab-shell
│ ├── logrotate
│ ├── postgresql
│ ├── redis
│ └── trusted-certs-directory-hash
└── logs
├── gitlab-rails
├── gitlab-shell
├── logrotate
├── postgresql
├── reconfigure
├── redis
├── sidekiq
├── sshd
└── unicorn

以上可以看出里面集成的东西还是挺多的。

5. 登录gitlab

在浏览器输入安装gitlab容器的主机地址,形式 IP:PORT

首次登录设置新密码,然后进入下一页登录界面,用户名:root,密码:<上一页设定的密码 >

后面就可以使用了。

6. 排错

如果初始登录浏览器出现502那么请检查是否端口冲突,修改文件gitlab.rb相关端口项 unicorn['port'] =PORT

也可以根据logs目录中的信息跟踪查询,如果出现GitLab external URL must include a schema and FQDN,请尝试修改gitlab.rb文件中的配置项格式 external_url = 'gitlab.xxx.com' 或者 external_url  'http://138.138.82.10'。

7. 更新GitLab

如果采用上述安装方法,更新变的很简单:停止gitlab容器,删除停止的gitlab容器,获取新镜像,再次使用原来的启动命令启动出一个新gitlab容器即可。不用担心数据丢失,只要挂载目录与之前一致,就会自动读取主机原来的目录下的数据。

附. 常用gitlab命令

gitlab-ctl reconfigure  // 重新应用gitlab的配置
gitlab-ctl restart    // 重启gitlab服务
gitlab-ctl status      // 查看gitlab运行状态
gitlab-ctl stop      // 停止gitlab服务
gitlab-ctl tail     // 查看gitlab运行日志

结束.

centos7下使用docker安装gitlab的更多相关文章

  1. 【docker】 centos7 下 使用docker 安装 LNMP

    一.安装 mysql 1 获取 mysql 镜像 docker pull mysql:5.7 2 创建mysql的镜像,并运行 docker run -d -p : -e MYSQL_ROOT_PAS ...

  2. centos7下使用docker安装nginx

    需要环境docker,此处不做介绍. 1. docker拉取官方nginx镜像 docker pull nginx 2. 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 ng ...

  3. Docker安装GitLab与Runner(网关),常规设置,自动化用到k8s+token

    [转]图文详解k8s自动化持续集成之GitLab CI/CD Windows里面使用Debian命令行工具完成 和Docker网络相关的命令 查看某一个容器的网络 docker inspect 容器I ...

  4. Docker安装Gitlab

    一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntuli ...

  5. 解决 Windows Docker 安装 Gitlab Volume 权限问题

    本文首发于我的个人博客,解决 Windows Docker 安装 Gitlab Volume 权限问题 ,欢迎访问! 记录一下 Windows10 下 Docker 安装 Gitlab 的步骤. Ca ...

  6. docker安装gitlab并部署CICD

    摘要 本文主要实现了在docker下安装gitlab,将gitlab绑定在宿主机的180端口,将gitlab的clone的URL添加指定端口号:部署了CI/CD,并公布了测试项目. 安装docker[ ...

  7. 基于Ubuntu下以Docker方式gitlab软件的部署

    基于Ubuntu下以Docker方式gitlab软件的部署 目录 基于Ubuntu下以Docker方式gitlab软件的部署 1.安装Docker Compose 1.1 下载curl 1.2 安装c ...

  8. centos7下使用yum安装mysql

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 wget http://repo.mysql.com/m ...

  9. [转]Centos7下caffe的安装

    Centos7下caffe的安装 原文地址:http://blog.csdn.net/s2392735818/article/details/49796017   版权声明:本文为博主原创文章,未经博 ...

随机推荐

  1. Java开发笔记(序)章节目录

    现将本博客的Java学习文章整理成以下笔记目录,方便查阅. 第一章 初识JavaJava开发笔记(一)第一个Java程序Java开发笔记(二)Java工程的帝国区划Java开发笔记(三)Java帝国的 ...

  2. 001. Java内存中的字符编码

    Java内存中的字符编码 Unicode字符集及utf-8 .utf-16.utf-32 等字符编码方式 字符集:字符表示的数字集合,元素称为码点或码位: 字符编码:字符实际的储存表示: 码点:一个码 ...

  3. WebGL或OpenGL关于模型视图投影变换的设置技巧

    目录 1. 具体实例 2. 解决方案 1) Cube.html 2) Cube.js 3) 运行结果 3. 详细讲解 1) 模型变换 2) 视图变换 3) 投影变换 4) 模型视图投影矩阵 4. 存在 ...

  4. (六) Keras 模型保存和RNN简单应用

    视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 RNN用于图 ...

  5. APICloud Studio2新建应用报错和检出错误

    今天心血来潮,闲暇时间想做个移动应用app,听一哥们说APICloud开发app很方便,就查询了一下,看了之后简直就是热血沸腾,我感觉正是我一直要找的工具 信心满满的开始着手使用,看了一下介绍我选择了 ...

  6. Hadoop Yarn框架原理解析

    在说Hadoop Yarn的原理之前,我们先来看看Yarn是怎样出现的.在古老的Hadoop1.0中,MapReduce的JobTracker负责了太多的工作,包括资源调度,管理众多的TaskTrac ...

  7. nginx性能优化(针对于高并发量仅供参考,并不是方案)

    目录 关于nginx.conf中的优化 配置nginx客户端网页缓存本地时间 nginx日志切割 nginx连接超时优化 Nginx 实现网页压缩功能 Nginx 实现防盗链功能 为目录添加访问控制 ...

  8. SpringBoot Mybatis 使用LocalDateTime

    mybatis-spring-boot-starter 2.0.1 会报错,不知道如何解决(建议先不用) mybatis-spring-boot-starter 2.0.1 - 1.3.2 版本不会报 ...

  9. LeetCode算法题-Reach a Number(Java实现)

    这是悦乐书的第310次更新,第331篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754).你站在无限数字线的0号位置.在目的地有个target.在 ...

  10. Python-语法模板大全(常用)

    目录 1.怎么存数据 变量: 字符串: 不可变对象 列表: 元组: 字典: 三大容器的遍历方法 2.怎么用数据 数字操作符: 判断循环: 3.函数 4. Python核心编程 4.1. 列表生成器 5 ...