docker 安装 Gitlab

GitLab 安装

复制代码
#创建容器数据卷映射目录
mkdir -p /usr/docker/gitlab/config 
mkdir -p /usr/docker/gitlab/logs 
mkdir -p /usr/docker/gitlab/data
#目录授权
chmod 777 -R /usr/docker/gitlab/*
 
#直接复制可用(记得改下宿主机ipv4,不知道怎么看,输入ip addr)
docker run -d --hostname 宿主机ipv4 -p 8443:443 -p 8080:80 -p 8222:22 --name gitlab --restart=always -v /usr/docker/gitlab/config:/etc/gitlab -v /usr/docker/gitlab/logs:/var/log/gitlab -v /usr/docker/gitlab/data:/var/opt/gitlab --shm-size 256m --privileged=true gitlab/gitlab-ce:16.9.1-ce.0
 
参数讲解
-d
  以守护进程运行
--hostname 
  设置容器内GitLab实例的主机名为宿主机IP(需替换为实际IP),GitLab会基于此生成访问URL。
-p 8443:443
  将容器HTTPS端口443映射到宿主机的8443(适合宿主机443被占用时)。
-p 8080:80
  将容器HTTP端口80映射到宿主机的8080(默认HTTP端口)。
-p 8222:22
  将容器SSH端口22映射到宿主机的8222(用于Git SSH协议操作)。
--name
  指定容器名为gitlab,便于后续管理。
restart=always   
  容器退出时自动重启(如宿主机重启后也会自动恢复)
-v /usr/docker/gitlab/config:/etc/gitlab
  挂载GitLab配置文件目录(如gitlab.rb )。
-v /usr/docker/gitlab/logs:/var/log/gitlab
  持久化日志文件。
-v /usr/docker/gitlab/data:/var/opt/gitlab
  存储应用数据(仓库、数据库等)。
--shm-size
  设置共享内存大小为256MB(GitLab Sidekiq等服务需要)
--privileged=true    
  容器获得root权限

登录

地址:http://192.168.29.128:8080/

账号:root

密码:/usr/docker/gitlab/config/initial_root_password 文件里面找到(初始密码到文件获取)

修改初始密码

复制代码
graph LR 
A[右上角头像] --> B[Preferences]
B --> C[左侧菜单"Password"]
C --> D[输入当前密码+新密码]
D --> E[保存]

修改为中文

复制代码
graph TB 
A[点击右上角头像] --> B[选择"Preferences"]
B --> C[找到"Language"下拉菜单]
C --> D[选择"简体中文"]
D --> E[保存设置]

登录后效果图

修改克隆地址

为了实现如下图效果,地址上自动加上端口号(因为在 docker 内运行)

修改配置

复制代码
#进入docker容器内部
docker exec -it gitlab bash

#编辑gitlab配置文件
vi /etc/gitlab/gitlab.rb

# 修改SSH地址
external_url 'http://192.168.29.128'
gitlab_rails['gitlab_ssh_host'] = '192.168.29.128'
gitlab_rails['gitlab_shell_ssh_port'] = 8222

# 优化内存暂用高(可降低约 2G 内存,生产环境不建议)
puma['worker_processes'] = 0
puma['min_threads'] = 1
puma['max_threads'] = 2
sidekiq['max_concurrency'] = 10

#保存退出
按ESC键 输入:wq

#重启加载 gitlab 配置文件
gitlab-ctl reconfigure

# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

  gitlab:
    host: 192.168.124.194
    port: 8080  # 这里改为前面启动容器 http 映射的端口:8080
    https: false

#重启gitlab服务
gitlab-ctl restart

#退出容器
exit

最后刷新一下 gitlab ,遇到 502 页面不用慌,代表服务正在启动中,等一会就好了(会自动刷新)。

至此 docker 里面安装GitLab 完成。

相关推荐
一念一花一世界22 分钟前
DevOps实战(3) - 使用Arbess+GitLab+Hadess实现Java项目自动化部署
gitlab·jenkins·tiklab·arbess·开源cicd工具
计算机小手1 小时前
AI 驱动数据分析:开源 SQLBot 项目探索,基于大模型和 RAG 实现精准问数与图表挖掘
经验分享·docker·开源软件
AI大模型2 小时前
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
docker·llm·deepseek
张璐月4 小时前
go docker-compose启动前后端分离项目 踩坑之旅
开发语言·docker·golang
剑客的茶馆5 小时前
新服务器从0开始搭配Ubuntu+Conda+Docker+Dify
服务器·ubuntu·docker·conda·dify
肖祥5 小时前
CloudBeaver轻量级的云数据库管理工具
docker·运维开发
ZLRRLZ7 小时前
【Docker】Docker基础
运维·docker·容器
ggaofeng8 小时前
k8s网络原理
网络·容器·kubernetes
Dxy123931021611 小时前
Dockerfile文件常用配置详解
开发语言·docker
m_136871 天前
Mac Intel 芯片部署 YOLO(Docker 方式,支持离线打包与 Compose 管理)
yolo·macos·docker