使用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管理员

登录成功

修改语言为中文

相关推荐
ZHE|张恒1 分钟前
使用 Docker 容器测试端口开放性
运维·docker·容器
JNU freshman23 分钟前
Element Plus组件
前端·vue.js·vue3
一只专注api接口开发的技术猿30 分钟前
容器化与调度:使用 Docker 与 K8s 管理分布式淘宝商品数据采集任务
开发语言·前端·数据库
我有一棵树35 分钟前
性能优化之前端与服务端中的 Gzip 压缩全解析
前端
魔术师卡颂39 分钟前
不就写提示词?提示词工程为啥是工程?
前端·人工智能·后端
切糕师学AI41 分钟前
云原生技术栈解析:宿主机、容器、Docker、Kubernetes 之间的区别于联系
docker·云原生·容器·kubernetes
訾博ZiBo1 小时前
【Vibe Coding】001-前端界面常用布局
前端
IT_陈寒1 小时前
《Redis性能翻倍的7个冷门技巧,90%开发者都不知道!》
前端·人工智能·后端
半梦半醒*1 小时前
gitlab部署
linux·运维·centos·ssh·gitlab·jenkins
歪歪1001 小时前
React Native开发Android&IOS流程完整指南
android·开发语言·前端·react native·ios·前端框架