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

相关推荐
神奇侠20242 小时前
快速入手K8s+Docker+KubeSphere+DevOps
docker·kubernetes·devops
CN_HW2 小时前
k8s证书续期
云原生·容器·kubernetes
帽儿山的枪手3 小时前
通过网络命名空间实现网络分流的思想及方法
网络协议·docker·dns
ronshi4 小时前
docker 多主机容器组网
docker·多主机容器组网
小码过河.6 小时前
CentOS 安装 Docker
linux·docker·centos
laimaxgg8 小时前
Dockerfile
linux·运维·服务器·ubuntu·docker
与passion共存9 小时前
Linux系统下Docker安装
linux·docker
西伯利亚猹9 小时前
Windows系统docker desktop安装(学习记录)
运维·docker·容器
LCY13310 小时前
centOS 安装和配置docker
linux·docker·centos
遇见火星11 小时前
基于Docker容器的CICD项目Jenkins/gitlab/harbor/Maven实战
docker·容器·gitlab·jenkins·maven·harbor·cicd