码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker环境搭建gitlab服务


    • 获取 docker 镜像

      docker pull gitlab/gitlab-ce:latest
      
      • 1
    • 宿主机上准备 3 个目录,和 docker 容器共享,用于存放 gitlab 的数据

      mkdir /home/tanrui/gitlab-server/config
      mkdir /home/tanrui/gitlab-server/logs
      mkdir /home/tanrui/gitlab-server/data
      
      • 1
      • 2
      • 3
    • 创建容器:

      docker run \
       -itd  \
       -p 9980:80 \
       -p 9922:22 \
       -v /home/tanrui/gitlab-server/config:/etc/gitlab \
       -v /home/tanrui/gitlab-server/logs:/var/log/gitlab \
       -v /home/tanrui/gitlab-server/data:/var/opt/gitlab \
       --restart always \
       --privileged=true \
       --name gitlab3 \
       gitlab/gitlab-ce:latest
       
       # -p 9980:80               宿主机的 9980 端口映射到 docker 的 80 端口
       # -v /home/tanrui/gitlab-server/config:/etc/gitlab
       #     宿主机的 /home/tanrui/gitlab-server/config    目录映射到 docker 的 /etc/gitlab
       # --restart always         容器自启动
       # --privileged=true        让容器获取宿主机root权限
       # --name gitlab            设置容器名称为gitlab
       # gitlab/gitlab-ce:latest  镜像的名称,这里也可以写镜像ID
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
    • 进入容器:

      docker exec -it gitlab /bin/bash
      
      • 1

      修改 gitlab 配置文件 /etc/gitlab/gitlab.rb:

      external_url 'http://192.168.3.4'  # 宿主机的 ip,默认 80 端口
      
      ## ssh 默认22端口,可以用后文方法更改,主要是解决克隆工程
      #gitlab_rails['gitlab_ssh_host'] = '192.168.3.4'
      #gitlab_rails['gitlab_shell_ssh_port'] = 9922 
      
      • 1
      • 2
      • 3
      • 4
      • 5

      执行:

      gitlab-ctl reconfigure
      
      • 1

      网页上即可访问:http://192.168.3.4:9980

    • 修改 root 密码:

      # 进入容器内部
      docker exec -it gitlab /bin/bash
       
      # 进入控制台
      gitlab-rails console -e production
       
      # 查询id为1的用户,id为1的用户是超级管理员
      u = User.where(id:1).first
      # 修改密码为tr123456
      u.password='tr123456'
      # 保存
      u.save!   # !!!这里有感叹号
      # 退出
      exit
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
    • 在页面中,克隆工程有 SSH 和 HTTP,克隆失败主要时端口映射的问题:例如 SSH,显示的 clone 地址是:git@192.168.3.4:root/first.git,默认是访问 22 端口,由于创建 docker 容器的时候指定了端口映射:主机 9922 >>> docker 22,所以要更改访问的端口:ssh://git@192.168.3.4:9922/root/first.git。HTTP 的 clone 一样会有问题。解决这个问题可以修改文件:/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml:

      gitlab:
          ## Web server settings (note: host is the FQDN, do not include http://)
          host: 192.168.3.4
          port: 9980        # http 的端口(和 docker 映射一致)
          https: false
          # ....
      	ssh_port: 9922    # ssh 的端口(和 docker 映射一致)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      修改后重启 gitlab-ctl restart,然后在页面上就可看见 clone 地址的变化。
      注意:不要 gitlab-ctl reconfigure !因为重新配置之后上面修改的会被冲掉!

  • 相关阅读:
    化工行业数字化供应链系统:赋能化工企业高质量发展,促进上下游协同
    如何破解安全难题?另一个商用车ADAS市场窗口开启
    web前端网页制作课作业:用DIV+CSS技术设计的静态网站【四大名著】中国传统文化主题题材设计
    你使用过哪些版本控制工具?
    YOLOv8教程系列:五、关闭数据增强
    【历史上的今天】7 月 21 日:施乐退出计算机市场;《世界版权公约》制定;苹果推出 Apple Airport
    SpringBoot集成ElasticSearch(ES)
    找不到msvcp110.dll是什么意思?总结msvcp110.dll丢失修复方法分享
    从零开始开发企培源码:搭建企业内训小程序的全面指南
    C语言每日一题(27)链表中倒数第k个结点
  • 原文地址:https://blog.csdn.net/qq_33236581/article/details/126275729
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号