Docker----搭建自己的gitlab(填坑之旅)
在成功完成docker的基础实验之后,尝试着使用docker搭建自己的gitlab,用来存放自己的代码。本文主要介绍使用docker搭建gitlab过程中遇到的问题,我的服务器系统是:Ubuntu Server 14.04.1 LTS 64位
在搭建过程中遇到了很多问题,比较突出的三个问题是:
1.docker下载镜像缓慢,每次需要大概几个小时;
2.docker下载完成之后,运行镜像服务器死机;
3.docker安装并成功运行gitlab容器之后,访问gitlab发现一直出现502错误。
下面将这三个问题穿插在安装搭建gitlab过程中进行解决,有的问题解决方案可能不止一种,也有的问题会与服务器的版本,服务器的配置相关。
一、gitlab镜像安装准备工作
1.对于上述提到的第三个问题,因为我的服务器配置比较low(1G,50G),而GitLab对系统硬件有要求,主要就是内存大于2G,否则或碰到奇怪的错误。所以我经过几次尝试安装一直显示502错误(纠结了三四天,查了两天的资料)。没办法,穷啊,那只有找解决方案。终于找到一篇相关的文章小型云服务器搭建GitLab遇到的坑 ,核心思想是增加服务器的swap空间。这个问题竟然成功解决。
查看内存信息:
sudo free -h
ubuntu@VM-50-13-ubuntu:~$ free -h
total used free shared buffers cached
Mem: 993M 181M 812M 376K 34M 77M
-/+ buffers/cache: 70M 923M
Swap: 0B 0B 0B
可以看到swap的空间为0B ,接下来增加swap空间具体操作:
sudo -i # 切换root权限
dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #分区大小设为2g
ls -lh /var/swap # 验证
mkswap /var/swap #启动分区
swapon /var/swap #激活
执行完上述命令,再次使用free -h命令可以看到Swap变成2GB
二、安装完成docker(可参考docker----起步)。
在下载镜像的时候,发现下载的很慢,很捉鸡。需要配置加速器,docker----起步文章中配置的加速器,好像与我的系统似乎不搭噶,最后看腾讯云的镜像加速器才发现,我配置加速器的地方错了,因为我的系统是Ubuntu14 所以应该配置在/etc/default/docker中。最后我将加速器配置成阿里云的镜像加速器 在注册完成之后,我获得了我的专属加速器地址(虽然不知道真假),具体查看方式是,在容器镜像服务-->镜像加速器中可以看到。
vim /etc/default/docker #然后修改其中的DOCKER_OPTS
如我的配置修改结果为:
# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--registry-mirror=https://dg9t1zch.mirror.aliyuncs.com" # 改地址为阿里云给我的镜像加速器地址
重启docker服务后,然后执行 sudo docker info ,可以看到输出中有如下信息:
Registry Mirrors:
https://dg9t1zch.mirror.aliyuncs.com/
然后下载镜像,我这里的镜像是阿里云上的一个镜像,执行命令,你会发现下载速度非常快:
docker run --detach \
--publish 443:443 --publish 10080:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
twang2218/gitlab-ce-zh:latest # 该镜像是aliyun上的一个镜像,地址https://cr.console.aliyun.com/#/imageDesc/cn-hangzhou/lab99/gitlab-ce-zh/detail
三、SSH端口和这里的22端口可能会有冲突,导致连接不上去,因此设置ssh端口为别的端口就可以了
vim /etc/ssh/sshd_config # 找到里边对应的Port,将22修改为1022或别的端口
重启ssh服务。
然后访问服务器地址+10080端口,有时候还是会出现502错误,需要稍等一会,然后重新刷新几次就可以了。
看到配置完成的gitlab特别开心=-=。
Docker----搭建自己的gitlab(填坑之旅)的更多相关文章
- 使用vue开发微信公众号下SPA站点的填坑之旅
原文发表于本人博客,点击进入使用vue开发微信公众号下SPA站点的填坑之旅 本文为我创业过程中,开发项目的填坑之旅.作为一个技术宅男,我的项目是做一个微信公众号,前后端全部自己搞定,不浪费国家一分钱^ ...
- stm32填坑之旅 - stm32f103c8t6点亮板载贴片蓝色LED
转载请注明:https://www.cnblogs.com/rockyf/p/11691622.html 开篇 开篇一定要精彩,不然路人不理睬!下述是笔者作为arm小白的填坑之旅 没错,这个之前一直从 ...
- bootstrap-table填坑之旅<一>认识bootstrap-table
应公司需求,改版公司ERP的数据显示样式.由于前期开发的样式是bootstrap,所以选bootstrap-table理所当然(也是因为看了bootstrap-table官网的example功能强大, ...
- React Native填坑之旅--与Native通信之iOS篇
终于开始新一篇的填坑之旅了.RN厉害的一个地方就是RN可以和Native组件通信.这个Native组件包括native的库和自定义视图,我们今天主要设计的内容是native库方面的只是.自定义视图的使 ...
- React Native填坑之旅--Flow篇(番外)
flow不是React Native必会的技能,但是作为正式的产品开发优势很有必要掌握的技能之一.所以,算是RN填坑之旅系列的番外篇. Flow是一个静态的检查类型检查工具,设计之初的目的就是为了可以 ...
- React Native填坑之旅--布局篇
代码在这里: https://github.com/future-challenger/petshop/tree/master/client/petshop/src/controller 回头看看RN ...
- https填坑之旅
Boss说,我们买了个权威证书,不如做全站式的https吧,让用户打开主页就能看到受信任的绿标.于是我们就开始了填坑之旅. [只上主域好不好?] 不好...console会报出一大堆warning因为 ...
- React Native填坑之旅--Stateless组件
Stateless component也叫无状态组件.有三种方法可以创建无状态组件. 坑 一般一个组件是怎么定义的: 很久以前的方法: const Heading = createClass({ re ...
- React Native填坑之旅--重新认识RN
如同黑夜里的一道光一样,就这么知道了F8. F8是每年一次Facebook每年一次的开发者大会.每次大会都会release相应的APP,iOS.Android都有.之前都是用Native开发的,但是2 ...
随机推荐
- 使用FastJson进行对象和JSON转换属性命名规则为下划线和驼峰的问题
public class AliPayParam { @JSONField(name="out_trade_no") private String outTradeNo; @JSO ...
- ppi
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- (最详细)小米Note 3的Usb调试模式在哪里打开的流程
就在我们使用安卓手机链接PC的时候,或者使用的有些应用软件比如我们单位营销部门就在使用的应用软件引号精灵,之前使用的老版本就需要开启USB开发者调试模式下使用,现就在新版本不需要了,如果手机没有开启U ...
- Luogu4495 [HAOI2018] 奇怪的背包 【扩展欧几里得算法】
题目分析: 首先打个暴力求一下$10^9$以内因子最多的数的因子个数,发现只有$1344$个. 由于有$ax+by=k*(a,b)$和2017年noip的结论,所以我们可以发现对于任意多个数$a_1, ...
- JS在一个数组中查找某个用户输入的值,返回对应值所在索引值
方法有很多种 第一:直接循环,判断输出 第二:使用indexOf 正常来说,为了增加工作效率一般会选择indexOf,但是indexOf存在兼容性问题,因此最完善的写法如下 function inde ...
- [Ynoi2019模拟赛]Yuno loves sqrt technology I
题目描述 给你一个长为n的排列,m次询问,每次查询一个区间的逆序对数,强制在线. 题解 MD不卡了..TMD一点都卡不动. 强制在线的话也没啥好一点的方法,只能分块预处理了. 对于每个块,我们设lef ...
- qcow2虚拟磁盘映像转化为vmdk
qcow2虚拟磁盘映像转化为vmdk yum install qemu-img –y qemu-img info source-name.vmdk 查看虚拟机信息 qemu-img convert - ...
- 使用django执行数据更新命令时报错:django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.00 01_initial on database 'default'.
如果在重新封装更新用户表之前,已经更新了数据表,在数据库中已经有了django相关的依赖表,就会报错: django.db.migrations.exceptions.InconsistentMigr ...
- numpy&pandas补充常用示例
Numpy [数组切片] In [115]: a = np.arange(12).reshape((3,4)) In [116]: a Out[116]: array([[ 0, 1, 2, 3], ...
- mysql将表数据导出为txt或csv文件
语法:select 字段 from 表名 into outfile 路径 示例txt:select * from stu_class into outfile './stu_class.text'; ...