Docker-compose部署 gitlab-server

Gitlab部署文档

1、配置环境变量

bash 复制代码
export GITLAB_HOME=/srv/gitlab

2、创建docker-compose.yml文件

  • 修改http端口需要同步修改external_url
  • 修改ssh端口需要同步修改gitlab_rails'gitlab_shell_ssh_port'
  • volumes:容器数据的持久化存储,强烈推荐。除非你希望重启容器就将Gitlab重置
yaml 复制代码
version: '3.6'
services:
  web:
    image: 'registry.gitlab.cn/omnibus/gitlab-jh:latest'
    restart: always
    # 云服务器ip
    hostname: '0.0.0.0' 
    environment:
      # 云服务器地址
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://0.0.0.0:8989' 
        gitlab_rails['gitlab_shell_ssh_port'] = 2222 
    ports:
      # 这里两个端口号都需要改
      - '8989:8989' 
      - '443:443'
      # 修改ssh端口号,需要同步修改gitlab_shell_ssh_port
      - '2222:22' 
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    shm_size: '256m'

使用docker compose up -d 启动

3、获取超级管理员账号密码

方案一:系统自动生成的密码
  • 自动生成的密码只有24小时的保留期限

  • 进入容器内部:docker exec -it ah69c7j89k3f /bin/bash

  • 查看初始密码:cat /etc/gitlab/initial_root_password

  • 以该方法登录后需要修改管理员密码
方案二:重置root密码
  • 如果使用方案一登录无效,则需要使用方案二重置root密码后登录。参考官方文档

进入容器内部:docker exec -it be28b6c5223f /bin/bash

进入rails控制台: gitlab-rails console

查找到root用户:user = User.find_by_username "root"

重置密码:user.password="自己设置一个密码"

保存:user.save!

方案三:重置root密码
bash 复制代码
docker exec -it ah69c7j89k3f /bin/bash
# su - git
$ gitlab-rake "gitlab:password:reset[root]"
Enter password: 
Confirm password: 
Unable to change password of the user with username root.
Password must not contain commonly used combinations of words and letters
$ gitlab-rake "gitlab:password:reset[root]"
Enter password: 
Confirm password: 
Password successfully updated for user with username root.
$
相关推荐
java_logo14 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb15 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
打工仔折腾 AI19 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
xbzb1 天前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry
wz97542 天前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*2 天前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路2 天前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao2 天前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker
duansamve3 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
IT大白鼠3 天前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab