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 完成。

相关推荐
gwjcloud3 小时前
Kubernetes从入门到精通(高级篇)04
云原生·容器·kubernetes
张文君5 小时前
上古世纪服务端编译安装AAEmu docker编译安装
运维·docker·容器
Stackflowed7 小时前
Docker安装Oracle
docker·oracle·容器
邵奈一7 小时前
OrbStack 环境下 Dify 启动报错完整解决方案教程:validating docker-compose.yaml
docker·容器·eureka
一只小bit8 小时前
Docker 镜像制作:包含自定义镜像及常用命令
运维·docker·容器
苍煜9 小时前
K8s 核心资源详解(Pod/Deployment/Service 实战)
云原生·容器·kubernetes
江湖有缘9 小时前
容器化笔记:Memory应用在Docker环境下的部署与配置
笔记·docker·容器
苍煜9 小时前
Docker Compose 多容器编排实战(系列第五篇:开发环境一键部署)
运维·docker·容器
sbjdhjd10 小时前
企业级 Docker 镜像仓库建设与运维规范
linux·运维·docker·云原生·容器·eureka·开源