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 版权声明:本文为博主原创文章,未经博 ...
随机推荐
- web前端图片上传(2)
今天发现了一种ajax上传图片的方式,是以前没有用过的,首先来说下为什么要用这种方式.是因为原来后台是用的form表单的方式来提交表单数据的.但是觉得呢,这种方式不太好,因为要刷新页面,前台只用控制台 ...
- Deepin Linux系统的日常使用总结(日常施工)
1.登录root权限用户 sudo su 2.安装软件语句 apt-get install <package_name> 相对的, 安装:apt-get install <packa ...
- 002. https通信(CA证书认证 + 密钥商定 )
服务端与客户端建立https通信的过程: 一.认证:客户端第一次访问服务端时,要求服务端证明自己可被信任 1.证书:由服务端申请.第三方CA颁发的,存放在服务端的证书: 证书包含:服务端的公钥.服务端 ...
- MongoDB学习(查找文档和其他数据查找操作)
理解Cursor对象和查询运算符 cursor对象 cursor对象相当于一个指针,可通过迭代它来访问MongdoDB数据库中的一组对象. 在使用 find() 方法查询时,返回的并非实际文档,而是一 ...
- 华为6.0系统设备最完美激活Xposed框架的经验
对于喜欢玩手机的伙伴而言,经常会使用上Xposed框架及种种功能强大的模块,对于5.0以下的系统版本,只要手机能获得root权限,安装和激活Xposed框架是非常轻松的,但随着系统版本的迭代,5.0以 ...
- 云服务器内,nginx安装部署,Xshell,Xftp安装
nginx部署 三丰云云服务器,安装nginx nginx部署 在宝塔面板,添加Nginx安装,一般进来会默认推荐安装几款软件,mysql等,暂时可以后面再装,先把nginx装上去,去感受将前端页面放 ...
- Java获取图片属性
BufferdImage bfi = ImageIO.read( new File(“d:/file/img.jpg”) ); //获取图片位深度 Int imgBit = bfi.getColorM ...
- 想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜
本文由云+社区发表 前言 业务已基于Redis实现了一个高可用的排行榜服务,长期以来相安无事.有一天,产品说:我要一个按周排名的排行榜,以反映本周内用户的活跃情况.于是周榜(按周重置更新的榜单)诞生了 ...
- dom4j创建和解析xml文档
DOM4J解析 特征: 1.JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能. 2.它使用接口和抽象基本类方法. 3.具有性能优异.灵活性好.功能强大和极端易用的特点. 4.是一个开 ...
- MySQL 常用语句总结
用一个表更新另一个表 UPDATE table1 t1, table2 t2 SET t1.field1 = t2.field1, t1.field2 = t2.field2 WHERE t1.fie ...