docker 安装 Gitlab

发布于:2025-04-15 ⋅ 阅读:(21) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到