当前位置: 首页 > news >正文

Docker 搭建GitLab

# 拉取镜像

docker pull gitlab/gitlab-ce

# GitLab 需要持久存储来保存数据,如仓库数据、配置

mkdir -p /opt/gitlab/config /opt/gitlab/logs /opt/gitlab/data

# 使用 docker run 命令来启动 GitLab 容器

docker run -itd \--hostname 192.168.111.128 \--publish 443:443 \--publish 80:80 \--publish 2222:22 \--name gitlab \--restart always \--volume /opt/gitlab/config:/etc/gitlab \--volume /opt/gitlab/logs:/var/log/gitlab \--volume /opt/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest

# 解释命令参数说明:
--detach: 让容器在后台运行(-itd 是 -it -d 的结合,--detach = -d)。
--hostname your-gitlab-hostname: 替换为你的 GitLab 主机名或域名。
--publish 443:443 --publish 80:80 --publish 22:22: 将容器内部的 443(HTTPS)、80(HTTP)和 22(SSH)端口映射到主机的对应端口,允许外部访问 GitLab。
--name gitlab: 指定容器的名称为 gitlab。
--restart always: 容器在退出后始终自动重启。
--volume /opt/gitlab/config:/etc/gitlab: 将主机上的 /opt/gitlab/config 目录挂载到容器内的 /etc/gitlab,用于存储 GitLab 的配置文件。
--volume /opt/gitlab/logs:/var/log/gitlab: 将主机上的 /opt/gitlab/logs 目录挂载到容器内的 /var/log/gitlab,用于存储 GitLab 的日志文件。
--volume /opt/gitlab/data:/var/opt/gitlab: 将主机上的 /opt/gitlab/data 目录挂载到容器内的 /var/opt/gitlab,用于存储 GitLab 的数据(如仓库数据、上传文件等)。
 

# 启动时间比较久,耐心等3-5分钟,此时可以查看启动日志
# Docker 容器日志查看

docker logs gitlab

# 如果你访问的页面没提示设置root管理员的密码,需要自己修改
# 修改密码步骤:

# 进入 GitLab 容器或服务器(gitlab_container_name 容器ID)docker exec -it <gitlab_container_name> /bin/bash# 重置管理员密码gitlab-rails console -e production# 在控制台中重置密码user = User.where(id: 1).firstuser.password = 'chengdong'user.password_confirmation = 'chengdong'user.save!# exit 退出控制台并重启 GitLabgitlab-ctl restart

# 登录成功之后设置 中文
# 中间显示 Configure GitLab ==> Settings ==> Preferences ==> Localization 或者上面直接搜索:Default language    root账户只能英文,创建新的账户登录就是中文了

# 修改gitlab的下载代码的路径地址,修改gitlab主配置文件
#/opt/gitlab/config/gitlab.rb
修改:
external_url 'http://192.168.111.128'

# 重启容器

docker restart gitlab

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • docker centos镜像 npm安装包时报错“npm ERR! code ECONNRESET”
  • windows wsl ubuntu系统安装桌面可视化
  • LeetCode203 移除链表元素
  • 10 Vue 特性要点
  • FineBI连接MySQL5.7
  • SQL 注入漏洞详解 - Union 注入
  • “微软蓝屏事件”深度解析:从系统故障到网络安全的挑战与应对
  • 搭建自己的金融数据源和量化分析平台(四):自动化更新上市公司所属一级、二级行业以及股票上市状态
  • 智能交通的未来:基于深度学习的交通信号标志识别系统详解
  • Python+Pytest+Allure+Yaml+Pymysql+Jenkins+GitLab运行原理
  • 学习记录——day18 数据结构 树
  • 大模型日报 2024-07-28
  • VMware安装(有的时候启动就蓝屏建议换VM版本)
  • 【HTML — 构建网络】HTML 入门
  • PyTorch 的各个核心模块和它们的功能
  • JavaScript 如何正确处理 Unicode 编码问题!
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Git同步原始仓库到Fork仓库中
  • Idea+maven+scala构建包并在spark on yarn 运行
  • java取消线程实例
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 聊一聊前端的监控
  • 数据结构java版之冒泡排序及优化
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 组复制官方翻译九、Group Replication Technical Details
  • ​520就是要宠粉,你的心头书我买单
  • !$boo在php中什么意思,php前戏
  • # wps必须要登录激活才能使用吗?
  • #### golang中【堆】的使用及底层 ####
  • #《AI中文版》V3 第 1 章 概述
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (2)nginx 安装、启停
  • (附源码)ssm高校实验室 毕业设计 800008
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (三)模仿学习-Action数据的模仿
  • (实战篇)如何缓存数据
  • *Django中的Ajax 纯js的书写样式1
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Framework杂记
  • .NET 给NuGet包添加Readme
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [asp.net core]project.json(2)
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [bzoj4240] 有趣的家庭菜园
  • [C++][opencv]基于opencv实现photoshop算法色阶调整
  • [Excel VBA]单元格区域引用方式的小结
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
  • [Linux]:权限
  • [math]判断线段是否相交及夹角
  • [Matsim]Matsim学习笔记-population.xml的创建
  • [NOIP2003 普及组] 乒乓球(模拟)