news 2026/7/14 20:53:00

Docker 离线安装 GitLab 完整步骤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker 离线安装 GitLab 完整步骤

你需要实现 Docker 环境下 GitLab 的离线部署,核心思路是先在有网络环境准备镜像和必要文件,再拷贝到离线机器进行部署,以下是分步详细操作:

一、有网络机器:准备 GitLab 镜像(关键前置步骤)

离线安装的核心是先获取 GitLab 镜像包,因为离线机器无法直接从 Docker Hub 拉取。

1. 拉取 GitLab 官方镜像

推荐使用社区版(CE),指定稳定版本(避免最新版兼容性问题),命令如下:

# 拉取 GitLab CE 稳定版(示例:16.8.1,可替换为其他稳定版本)dockerpull gitlab/gitlab-ce:16.8.1-ce.0

2. 导出镜像为 tar 包(用于离线传输)

将拉取的镜像导出为本地 tar 文件,方便拷贝到离线机器,命令如下:

# 导出镜像:格式 docker save -o [本地输出tar包路径] [镜像名:标签]dockersave -o /root/gitlab-ce-16.8.1.tar gitlab/gitlab-ce:16.8.1-ce.0

执行后,在/root目录下会生成gitlab-ce-16.8.1.tar镜像包,后续将该文件拷贝到离线机器。

二、离线机器:部署前准备

1. 拷贝镜像包到离线机器

通过 U 盘、移动硬盘、内网传输(若有内网互通)等方式,将gitlab-ce-16.8.1.tar拷贝到离线机器的任意目录(示例:/root目录)。

2. 导入 GitLab 镜像

在离线机器上,使用docker load命令导入镜像包,命令如下:

# 导入镜像:格式 docker load -i [本地tar包路径]dockerload -i /root/gitlab-ce-16.8.1.tar

导入完成后,可通过docker images命令验证,能看到gitlab/gitlab-ce:16.8.1-ce.0镜像即表示导入成功。

3. 创建本地挂载目录(持久化数据/配置/日志)

GitLab 的配置、数据、日志需要持久化到本地(避免容器删除后数据丢失),创建三个专属目录,命令如下:

# 创建根目录mkdir-p /data/gitlab# 分别创建配置、数据、日志目录mkdir-p /data/gitlab/config# 配置文件目录mkdir-p /data/gitlab/data# 数据存储目录mkdir-p /data/gitlab/logs# 日志文件目录

同时,赋予目录足够权限(避免容器读写失败):

chmod-R777/data/gitlab

三、离线机器:启动 GitLab 容器

使用docker run命令启动容器,核心配置包含端口映射目录挂载访问地址配置,完整命令如下:

dockerrun -d\--name gitlab\--restart always\--privileged=true\-p80:80\-p443:443\-p2222:22\-v /data/gitlab/config:/etc/gitlab\-v /data/gitlab/data:/var/opt/gitlab\-v /data/gitlab/logs:/var/log/gitlab\-eGITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.1.100'; gitlab_rails['gitlab_shell_ssh_port'] = 2222;"\gitlab/gitlab-ce:16.8.1-ce.0

命令参数说明(关键)

  1. --name gitlab:指定容器名称为 gitlab,方便后续管理
  2. --restart always:容器异常退出或服务器重启后自动启动
  3. --privileged=true:赋予容器特权,避免权限不足问题
  4. 端口映射:
    • 80:80:主机 80 端口映射容器 80 端口(HTTP 访问端口)
    • 443:443:主机 443 端口映射容器 443 端口(HTTPS 访问端口,若不需要可删除)
    • 2222:22:主机 2222 端口映射容器 22 端口(SSH 克隆端口,避免与主机 22 端口冲突)
  5. 目录挂载:对应前面创建的三个本地目录,实现数据持久化
  6. GITLAB_OMNIBUS_CONFIG:核心配置
    • external_url 'http://192.168.1.100':指定 GitLab 访问地址(替换为你的离线机器内网 IP)
    • gitlab_rails['gitlab_shell_ssh_port'] = 2222:指定 SSH 克隆端口(与主机映射的 2222 端口一致)

四、离线机器:GitLab 初始化与访问

1. 等待容器初始化完成

GitLab 启动后需要一定时间初始化(约 5-10 分钟,视机器配置而定),可通过以下命令查看启动日志,确认是否正常:

# 实时查看 GitLab 容器日志dockerlogs -f gitlab

当日志中出现gitlab Reconfigured!时,表示初始化完成,可停止日志查看(Ctrl+C)。

2. 获取 root 初始密码

GitLab 初始化完成后,root 初始密码存放在容器内的指定文件中,通过以下命令获取:

# 进入容器查看密码文件,或直接读取密码dockerexec-it gitlabcat/etc/gitlab/initial_root_password

执行后,会显示一串随机密码(注意:密码有效期为 24 小时,需及时登录修改)。

3. 访问 GitLab 并修改密码

  1. 打开浏览器,输入之前配置的external_url(示例:http://192.168.1.100),即可进入 GitLab 登录页面
  2. 使用用户名root和上述获取的初始密码登录
  3. 登录后,系统会提示修改初始密码,按照提示设置新密码即可完成部署

五、后续维护常用命令

# 重启 GitLab 容器dockerrestart gitlab# 停止 GitLab 容器dockerstop gitlab# 查看 GitLab 容器状态dockerps|grepgitlab# 进入 GitLab 容器内部(用于修改配置等操作)dockerexec-it gitlab /bin/bash

总结

  1. 离线安装核心:有网机器拉取+导出镜像,离线机器导入+部署
  2. 关键配置:本地目录挂载(持久化数据)、端口映射(避免冲突)、external_url配置(访问地址)
  3. 初始化要点:等待gitlab Reconfigured!日志、通过initial_root_password获取初始密码、及时修改 root 密码
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 11:16:02

github fork项目同步上游:更新你的PyTorch-CUDA-v2.8分支

GitHub Fork 项目同步上游:更新你的 PyTorch-CUDA-v2.8 分支 在深度学习工程实践中,一个常见的痛点是:你基于某个开源镜像(比如 PyTorch-CUDA-v2.8)做了定制化修改,但随着时间推移,原始仓库不断…

作者头像 李华
网站建设 2026/7/14 11:16:12

JiyuTrainer支持多语言界面:PyTorch用户的福音

JiyuTrainer支持多语言界面:PyTorch用户的福音 在深度学习项目开发中,你是否曾为配置 PyTorch CUDA 环境耗费一整天却仍报错而懊恼?是否因英文界面看不懂错误提示而在调试时束手无策?尤其对于中文用户而言,从环境搭建…

作者头像 李华
网站建设 2026/7/14 9:26:02

PyTorch-CUDA-v2.8镜像体积优化:减少下载时间提升启动速度

PyTorch-CUDA-v2.8镜像体积优化:减少下载时间提升启动速度 在现代AI研发环境中,一个看似不起眼的环节——容器镜像拉取——却常常成为团队效率的隐形瓶颈。你是否经历过这样的场景:新成员刚接入项目,光是等待PyTorch-CUDA基础镜像…

作者头像 李华
网站建设 2026/7/14 4:20:33

cnn过拟合解决方案:在PyTorch-CUDA-v2.8中加入正则化

CNN过拟合解决方案:在PyTorch-CUDA环境中引入正则化 在图像分类任务中,你是否遇到过这样的情况:模型在训练集上准确率一路飙升,接近100%,但一到验证集就“断崖式”下跌?这种典型的性能落差,正是…

作者头像 李华
网站建设 2026/7/14 5:42:29

cuda安装后import torch报错?PyTorch-CUDA-v2.8杜绝此类问题

cuda安装后import torch报错?PyTorch-CUDA-v2.8杜绝此类问题 在深度学习项目的开发过程中,你是否曾经历过这样的场景:满怀信心地写好模型代码,准备在GPU上加速训练,结果刚运行 import torch 就抛出一连串错误—— CUDA…

作者头像 李华
网站建设 2026/7/14 6:07:21

边缘智能新篇章:YOLOv8在树莓派5上的INT8量化部署全攻略

最近研学过程中发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击链接跳转到网站人工智能及编程语言学习教程。读者们可以通过里面的文章详细了解一下人工智能及其编程等教程和学习方法。下面开始对正文内容的…

作者头像 李华