docker部署gitlab
一、前提条件
(1) 存在docker
(2) 服务器可以联网(外网)
(3) 服务器内存至少4G(内存不够会出现502错误)
内存不足502错误如下图所示:
二、安装
本次安装在CentOS7下进行,下面的命令建议复制到记事本后再从记事本复制
# 1、查找GitLab镜像
- docker search gitlab
# 2、拉取gitlab docker镜像
- docker pull gitlab/gitlab-ce:latest
# 3、运行GitLab并运行容器
- docker run \
- -itd \
- -p 9980:80 \
- -p 9922:22 \
- -v /usr/local/gitlab-test/etc:/etc/gitlab \
- -v /usr/local/gitlab-test/log:/var/log/gitlab \
- -v /usr/local/gitlab-test/opt:/var/opt/gitlab \
- --restart always \
- --privileged=true \
- --name gitlab-test \
- gitlab/gitlab-ce
命令解释:
-i 以交互模式运行容器,通常与 -t 同时使用命令解释:
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
-p 9980:80
将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口
-p 9922:22
将容器内22端口映射至宿主机9922端口,这是访问ssh的端口
-v /usr/local/gitlab-test/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
--restart always 容器自启动
--privileged=true 让容器获取宿主机root权限
--name gitlab-test 设置容器名称为gitlab-test
gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID
# 重点:接下来的配置请在容器内进行修改,不要在挂载到宿主机的文件上进行修改。否则可能出现配置更新不到容器内,或者是不能即时更新到容器内,导致gitlab启动成功,但是无法访问
# 4、进入容器内
- docker exec -it gitlab-test /bin/bash
# 5、修改gitlab.rb (先查看下一个步骤再决定是否进行本步骤,本步骤是可以跳过的)
- # 打开文件
- vi /etc/gitlab/gitlab.rb
- # 这个文件是全注释掉了的,所以直接在首行添加如下配置
- # gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
- eaxternal_url 'http://192.168.52.128:9980'
- # ssh主机ip
- gitlab_rails['gitlab_ssh_host'] = '192.168.52.128'
- # ssh连接端口
- gitlab_rails['gitlab_shell_ssh_port'] = 9922
# 6、修改gitlab.yml (这一步原本不是必须的,因为gitlab.rb内配置会覆盖这个,为了防止没有成功覆盖所以我在这里进行配置,当然你也可以选择不修改gitlab.rb直接修改这里)
- # 打开文件
- vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
- # 配置一:找到gitlab标签,将其子标签如下修改
- # 配置解释:
- # host:访问的IP
- # port:访问的端口
- # 以上两个和gitlab.rb内eaxternal_url的配置保持一致
- # ssh_host:ssh主机ip,和gitlab.rb内gitlab_rails['gitlab_ssh_host']保持一致
- # 配置二:找到gitlab_shell标签下的ssh_port,将其修改为9922
- #(和gitlab.rb内gitlab_rails['gitlab_shell_ssh_port'] 保持一致)
- # 保存并退出
- :wq
# 7、让修改后的配置生效
- gitlab-ctl reconfigure
# 8、重启gitlab
- gitlab-ctl restart
# 9、退出容器
- exit
# 10、在游览器输入如下地址,访问gitlab(eaxternal_url配置的就是这个)
- http://192.168.52.128:9980
如果访问不成功的话:
(1) 进入容器查看gitlab.rb和gitlab.yml文件是否配置成功
(2) 查看防火墙是否开放9980、9922端口
# 11、第一次访问默认是root账户,会需要修改密码(密码至少8位数,出现如下界面就基本上部署成功了)
# 12、输入新密码后进行登录
- root/gitlab123456
# 13、登录后界面如下图,创建一个新项目
# 14、输入信息,创建项目
# 15、检查这里两处的ip的端口是否是你配置的
如果这里两处的端口和ip和配置的不一样,再次进入容器检查gitlab.yml文件
如下图显示:
若不一样,将其修改为你的配置,然后:wq,再进行下面的操作
- gitlab-ctl reconfigure
- gitlab-ctl restart
# 16、安装到此结束
三、关闭用户注册
1、使用root用户登录gitlab
2、点击【Admin Area】
3、点击【Settings】
4、点击Sign-in restrictions这一栏的【Expand】
5、取消勾选
6、往下滑动,找到保存按钮,点击保存
7、进入登录界面,发现注册的窗口已经消失了
四、邮件配置
未完成~~~
五、自动备份配置
未完成~~~
docker部署gitlab的更多相关文章
- Windows 下 docker 部署 gitlab ci
一.安装 1. 安装 docker Docker下载 注意:Windows 10 家庭版获取 之前的版本不能直接安装 Docker ,而是需要去安装 Docker Toolbox 我这里安装的是 Do ...
- 使用Docker部署Gitlab
由于公司的代码server已使用Gitosis搭建,但由于用户和权限管理太麻烦. 如今想在原有server上再搭建Gitlab,使用Gitlab官方方法直接安装. 会导致与Gitosis冲突,使得Gi ...
- Docker 部署Gitlab
sudo docker run -d \ -h 192.168.16.88 \ -p 89:80 -p 23:22 \ --name gitlab \ --restart always \ --vol ...
- 用docker部署gitlab
docker hub官网下载gitlab速度太慢,改用国内镜像+中文版 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh ...
- docker部署gitlab服务
docker run -d -p : -p : -p : \ --name gitlab --restart always \ --volume /home/xxx/dockerData/gitlab ...
- Ubuntu 18.04 使用docker 部署gitlab并且使用自定义端口号
搭建原因 两个月前我搭建了公司的docker(无法自定义端口,),当初只想着把托管在GitHub的项目代码放在公司的服务器上面,后来忙着修改人脸服务器代码,忘记了,这个月由于领导提的需求比较多,还是托 ...
- 使用Docker快速部署Gitlab
使用Docker部署Gitlab 1. 下载gitlab镜像 docker pull gitlab/gitlab-ce 2. 运行gitlab实例 GITLAB_HOME=`pwd`/data/git ...
- docker 安装 gitlab
基于Docker部署GitLab环境搭建 建议虚拟机内存2G以上 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意:一定要配置阿里云的加速镜像 ...
- 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务
场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序 ...
随机推荐
- String 对象-->toLowerCase() 方法
1.定义和用法 将字符串中所有的大写字符转换成小写字符,小写字符不变 返回转换后的结果字符串 语法: string.toLowerCase() 注意:不会改变字符串本身,仅以返回值的形式返回结果 举例 ...
- python3(三)enc
# ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节. # Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了. # 新的问题又 ...
- jetCache 基本使用
1.pom引用 <!--jetcache缓存 lettuce--> <dependency> <groupId>com.alicp.jetcache</gro ...
- Flutter 吐血整理组件继承关系图
老孟导读:前几天一个读者和我说能不能整理一个各个控件之间的继承关系,这2天抽时间整理了一下,不整理不知道,一整理真的吓一跳啊,仅仅Widget的子类(包括间接子类)就高达353个,今天发群里给大家浏览 ...
- Centos7 编译安装 Libmcrypt 库
0x00 先下载 libmcrypt 库源码 libmcrypt-2.5.8.tar.gz 或者去这里 libmcrypt 下载你需要的版本. 0x01 将下载的源码解压到文件夹 tar -zxvf ...
- AJ学IOS(49)多线程网络之线程的创建NSThreand
AJ分享,必须精品 一:NSThread的基本使用 1:创建和启动线程 一个NSThread对象就代表一条线程 创建.启动线程 NSThread *thread = [[NSThread alloc] ...
- [bilibili服]明日方舟游戏时长限制破解
bilibili服 明日方舟 游戏时长如何破解 众所周知,明日方舟游戏对未成年人实行了游戏时长限制,小编也感到十分惊讶--咳咳--言归正传--之前在网上看到过有说可以通过进入战斗之后断网来实现延长时间 ...
- [Laravel] 自带分页实现以及links方法不存在错误
自带分页实现其实挺简单的,但是我在实现的时候报错!找了很久才找出原因! 废话不说上码 控制器LeeController.php层 <?php namespace App\Http\control ...
- 靠!安装了macOS Catalina(10.15.4)后,文件系统都乱套了
最近闲来无事,决定将我的两台apple电脑升级成最新的苹果系统(macOS Catalina),当然,由于以前升级过多次mac系统,所以毫不犹豫从app store下载了最新的macOS Cetali ...
- 从零开始建图床 minio
图床 图床可以参考知乎这篇文章 一些小众图床有空空间免费,但不知道什么时候会挂掉.前些年用过的极简图床,现在也销声匿迹: 大厂提供的有限免费空间,七牛云10G空间,10Gb/月 流量免费:但如果使用h ...