使用docker创建gitlab仓库

安装依赖

sql 复制代码
sudo apt update
sudo apt install -y ca-certificates curl gnupg

添加 Docker 官方 GPG 密钥

bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

添加docker仓库

bash 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装docker

lua 复制代码
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证安装

最小测试镜像(官方用于验证 Docker 安装的测试镜像)

arduino 复制代码
sudo docker run hello-world

创建持久化数据目录

bash 复制代码
sudo mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data

运行 GitLab 容器

bash 复制代码
sudo docker run --detach \
  --hostname 198.46.254.158 \       # 替换为你的域名或IP
  --publish 443:443 --publish 80:80 --publish 2222: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 \
  gitlab/gitlab-ce:latest

查看对应22 80 443 端口是否被其他服务占用,对应进行调整

css 复制代码
sudo lsof -i :80
sudo lsof -i :443
sudo lsof -i :22

配置 GitLab SSH 端口

容器启动后,你还需要配置 GitLab 使用宿主机映射的 SSH 端口(2222)。可以通过修改 GitLab 的配置文件来实现。

首先,进入 GitLab 配置文件所在目录

arduino 复制代码
sudo nano /srv/gitlab/config/gitlab.rb

在文件中找到或添加以下配置:

css 复制代码
gitlab_rails['gitlab_shell_ssh_port'] = 2222

这行配置告诉 GitLab 使用 2222 端口进行 SSH 连接

以上为命令行修改,需要 vim

也可以使用 1panel 可视化图形界面操作

重新配置并重启 GitLab

保存并退出配置文件后,重新配置并重启 GitLab 容器,使配置生效

bash 复制代码
sudo docker exec -it gitlab gitlab-ctl reconfigure
sudo docker restart gitlab

打开 对应IP地址的 8080端口访问

GitLab 首次启动时需要初始化数据库、配置服务等,这个过程可能需要 5-15 分钟(取决于服务器性能)。如果在服务未完全启动时访问页面,就会出现 502 错误。页面会每 5 秒自动刷新,直到服务准备就绪。

去到挂载目录下的文件夹内找到初始化密码

账号为root管理员

登录成功

修改语言为中文

相关推荐
小小小小宇27 分钟前
前端转后端基础- 变量和类型
前端
维度攻城狮44 分钟前
Docker优雅地运行OpenClaw
运维·docker·容器·openclaw·openclaw安装
Cobyte1 小时前
1.基于依赖追踪和触发的响应式系统的本质
前端·javascript·vue.js
主宰者1 小时前
C# CommunityToolkit.Mvvm全局事件
java·前端·c#
前端小咸鱼一条2 小时前
16.迭代器 和 生成器
开发语言·前端·javascript
小江的记录本2 小时前
【注解】常见 Java 注解系统性知识体系总结(附《全方位对比表》+ 思维导图)
java·前端·spring boot·后端·spring·mybatis·web
web守墓人2 小时前
【前端】记一次将ruoyi vue3 element-plus迁移到arco design vue的经历
前端·vue.js·arco design
伊步沁心2 小时前
Webpack & Vite 深度解析
前端
libokaifa2 小时前
OpenSpec + TDD:让 AI 写代码,用测试兜底
前端·ai编程
用户15815963743702 小时前
搭 AI Agent 团队踩了 18 个坑,总结出这 5 个关键步骤
前端