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空间。这个问题竟然成功解决。
查看内存信息:
1 | sudo free -h |
1 2 3 4 5 | 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空间具体操作:
1 2 | sudo -i # 切换root权限 dd if =/dev/zero of=/ var /swap bs=1024 count=2048000 #分区大小设为2g<br>ls -lh / var /swap # 验证<br>mkswap / var /swap #启动分区<br>swapon / var /swap #激活 |
执行完上述命令,再次使用free -h命令可以看到Swap变成2GB
二、安装完成docker(可参考docker----起步)。
在下载镜像的时候,发现下载的很慢,很捉鸡。需要配置加速器,docker----起步文章中配置的加速器,好像与我的系统似乎不搭噶,最后看腾讯云的镜像加速器才发现,我配置加速器的地方错了,因为我的系统是Ubuntu14 所以应该配置在/etc/default/docker中。最后我将加速器配置成阿里云的镜像加速器 在注册完成之后,我获得了我的专属加速器地址(虽然不知道真假),具体查看方式是,在容器镜像服务-->镜像加速器中可以看到。
1 | vim /etc/ default /docker #然后修改其中的DOCKER_OPTS |
如我的配置修改结果为:
1 2 | # Use DOCKER_OPTS to modify the daemon startup options. DOCKER_OPTS= "--registry-mirror=https://dg9t1zch.mirror.aliyuncs.com" # 改地址为阿里云给我的镜像加速器地址 |
重启docker服务后,然后执行 sudo docker info ,可以看到输出中有如下信息:
1 2 | Registry Mirrors: https: //dg9t1zch.mirror.aliyuncs.com/ |
然后下载镜像,我这里的镜像是阿里云上的一个镜像,执行命令,你会发现下载速度非常快:
1 2 3 4 5 6 7 8 | 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端口为别的端口就可以了
1 | vim /etc/ssh/sshd_config # 找到里边对应的Port,将22修改为1022或别的端口 |
重启ssh服务。
然后访问服务器地址+10080端口,有时候还是会出现502错误,需要稍等一会,然后重新刷新几次就可以了。
看到配置完成的gitlab特别开心=-=。
本文原创作者:劲西风,转载请注明原文链接:https://www.cnblogs.com/kingkangstudy/p/8834965.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构