centos7下使用docker安装gitlab
环境背景:
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的更多相关文章
- 【docker】 centos7 下 使用docker 安装 LNMP
一.安装 mysql 1 获取 mysql 镜像 docker pull mysql:5.7 2 创建mysql的镜像,并运行 docker run -d -p : -e MYSQL_ROOT_PAS ...
- centos7下使用docker安装nginx
需要环境docker,此处不做介绍. 1. docker拉取官方nginx镜像 docker pull nginx 2. 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 ng ...
- Docker安装GitLab与Runner(网关),常规设置,自动化用到k8s+token
[转]图文详解k8s自动化持续集成之GitLab CI/CD Windows里面使用Debian命令行工具完成 和Docker网络相关的命令 查看某一个容器的网络 docker inspect 容器I ...
- Docker安装Gitlab
一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntuli ...
- 解决 Windows Docker 安装 Gitlab Volume 权限问题
本文首发于我的个人博客,解决 Windows Docker 安装 Gitlab Volume 权限问题 ,欢迎访问! 记录一下 Windows10 下 Docker 安装 Gitlab 的步骤. Ca ...
- docker安装gitlab并部署CICD
摘要 本文主要实现了在docker下安装gitlab,将gitlab绑定在宿主机的180端口,将gitlab的clone的URL添加指定端口号:部署了CI/CD,并公布了测试项目. 安装docker[ ...
- 基于Ubuntu下以Docker方式gitlab软件的部署
基于Ubuntu下以Docker方式gitlab软件的部署 目录 基于Ubuntu下以Docker方式gitlab软件的部署 1.安装Docker Compose 1.1 下载curl 1.2 安装c ...
- centos7下使用yum安装mysql
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 wget http://repo.mysql.com/m ...
- [转]Centos7下caffe的安装
Centos7下caffe的安装 原文地址:http://blog.csdn.net/s2392735818/article/details/49796017 版权声明:本文为博主原创文章,未经博 ...
随机推荐
- Java开发笔记(序)章节目录
现将本博客的Java学习文章整理成以下笔记目录,方便查阅. 第一章 初识JavaJava开发笔记(一)第一个Java程序Java开发笔记(二)Java工程的帝国区划Java开发笔记(三)Java帝国的 ...
- 001. Java内存中的字符编码
Java内存中的字符编码 Unicode字符集及utf-8 .utf-16.utf-32 等字符编码方式 字符集:字符表示的数字集合,元素称为码点或码位: 字符编码:字符实际的储存表示: 码点:一个码 ...
- WebGL或OpenGL关于模型视图投影变换的设置技巧
目录 1. 具体实例 2. 解决方案 1) Cube.html 2) Cube.js 3) 运行结果 3. 详细讲解 1) 模型变换 2) 视图变换 3) 投影变换 4) 模型视图投影矩阵 4. 存在 ...
- (六) Keras 模型保存和RNN简单应用
视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 RNN用于图 ...
- APICloud Studio2新建应用报错和检出错误
今天心血来潮,闲暇时间想做个移动应用app,听一哥们说APICloud开发app很方便,就查询了一下,看了之后简直就是热血沸腾,我感觉正是我一直要找的工具 信心满满的开始着手使用,看了一下介绍我选择了 ...
- Hadoop Yarn框架原理解析
在说Hadoop Yarn的原理之前,我们先来看看Yarn是怎样出现的.在古老的Hadoop1.0中,MapReduce的JobTracker负责了太多的工作,包括资源调度,管理众多的TaskTrac ...
- nginx性能优化(针对于高并发量仅供参考,并不是方案)
目录 关于nginx.conf中的优化 配置nginx客户端网页缓存本地时间 nginx日志切割 nginx连接超时优化 Nginx 实现网页压缩功能 Nginx 实现防盗链功能 为目录添加访问控制 ...
- SpringBoot Mybatis 使用LocalDateTime
mybatis-spring-boot-starter 2.0.1 会报错,不知道如何解决(建议先不用) mybatis-spring-boot-starter 2.0.1 - 1.3.2 版本不会报 ...
- LeetCode算法题-Reach a Number(Java实现)
这是悦乐书的第310次更新,第331篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754).你站在无限数字线的0号位置.在目的地有个target.在 ...
- Python-语法模板大全(常用)
目录 1.怎么存数据 变量: 字符串: 不可变对象 列表: 元组: 字典: 三大容器的遍历方法 2.怎么用数据 数字操作符: 判断循环: 3.函数 4. Python核心编程 4.1. 列表生成器 5 ...