Docker搭建Gitlab服务器
极狐GitLab 一体化 DevOps 平台
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。 价值最大化。
从设计到投产,一个平台覆盖 DevSecOps 全流程。极狐GitLab 帮助团队更快、更安全地交付更好的软件,提升研运效能,实现 DevOp
Gitlab镜像
启动Gitlab容器
1 2 3 4 5 6 7 8 9 10 11 12 | # 启动容器 docker run \ -itd \ -p 9980:80 \ -p 9922:22 \ -v /home/gitlab/etc:/etc/gitlab \ -v /home/gitlab/log:/ var /log/gitlab \ -v /home/gitlab/opt:/ var /opt/gitlab \ --restart always \ --privileged= true \ --name gitlab \ gitlab/gitlab-ce |
命令 描述
-i 以交互模式运行容器,通常与 -t 同时使用命令解释
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d 后台运行容器,并返回容器ID
-p 9980:80 将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口
-p 9922:22 将容器内22端口映射至宿主机9922端口,这是访问ssh的端口
-v /home/gitlab/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
--restart always 容器自启动
--privileged=true 让容器获取宿主机root权限
--name gitlab 设置容器名称为gitlab
gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID
注意:
接下来的配置请在容器内进行修改,不要在挂载到宿主机的文件上进行修改。否则可能出现配置更新不到容器内,或者是不能即时更新到容器内,导致gitlab启动成功,但是无法访问
修改配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #进容器内部 docker exec -it gitlab /bin/bash #修改gitlab.rb vi /etc/gitlab/gitlab.rb #加入如下 #gitlab访问地址,可以写域名。如果端口不写的话默认为80端口 external_url 'http://192.168.124.194' #ssh主机ip gitlab_rails[ 'gitlab_ssh_host' ] = '192.168.124.194' #ssh连接端口 gitlab_rails[ 'gitlab_shell_ssh_port' ] = 9922 # 让配置生效 gitlab-ctl reconfigure |
注意不要重启,/etc/gitlab/gitlab.rb文件的配置会映射到gitlab.yml这个文件,由于咱们在docker中运行,在gitlab上生成的http地址应该是http://192.168.192.138:9980,所以,要修改下面文件
1 2 3 4 5 6 7 | # 修改http和ssh配置 vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml gitlab: host: 192.168.192.138 port: 9980 # 这里改为9980 https: false |
1 2 3 4 | #重启gitlab gitlab-ctl restart #退出容器 exit |
浏览器访问
注意:机器配置要大于4g,否则很容易启动不了,报502
修改root密码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 进入容器内部 docker exec -it gitlab /bin/bash # 进入控制台 gitlab-rails console -e production # 查询id为1的用户,id为1的用户是超级管理员 user = User. where (id:1).first # 修改密码为lhx123456 user.password= 'lhx123456' # 保存 user.save! # 退出 exit |
Gitlab操作
创建分组,创建项目
Docker搭建Gitlab服务器完成!!!
就可以Git上传,下载代码了!
鸣谢:
https://blog.csdn.net/BThinker/article/details/124097795
https://blog.csdn.net/qq_17686345/article/details/118876654
https://www.jianshu.com/p/080a962c35b6
本文来自博客园,作者:{春光牛牛,yak},转载请注明原文链接:https://www.cnblogs.com/yakniu/p/16312706.html
欢迎各位大佬们评论指正
QQ讨论群:610129902
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求