06. centos7使用docker方式安装gitlab

gitlab 初体验,使用 docker 进行快速安装,遇到了端口修改不生效的问题,在此记录一下。

在正式环境中,gitlab 的容器版,应该使用 postgresql,redis,gitlab 三个组件,使用标准的 80 端口,提供稳定且有性能的企业服务。但如果是在测试环境,或是想在一个机器上运行多个服务,则 gitlab 不一定能使用到标准的 80 端口,那么,在部署时,需要如何调整配置呢?

ce 表示社区免费版、ee 表示企业收费版

一、启动 gitlab-ce 镜像

docker run -itd \
--publish 8443:443 \
--publish 8180:8180 \
--publish 8022:22 \
--name gitlab \
--restart unless-stopped \
-v /mnt/gitlab/config:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

二、修改 gitlab.rb 文件

这是关键步骤,文件在/gitlab/etc/gitlab.rb,
假设宿主机 ip 为 192.168.0.110,external_url 和 nginx['listen_port']的端口需要和第一步的映射端口对应。

# 该配置的端口号会显示在克隆url
external_url 'http://192.168.0.110:8180'

# https需要下面这句
# nginx['redirect_http_to_https_port'] = 8180
nginx['listen_port'] = 8180
# 配置8022端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022

三、重启镜像

docker restart gitlab

查看/gitlab/data/gitlab-rails/etc/gitlab.yml 文件(这个文件是根据 gitlab.rb 自动生成的,不要修改,否则会很麻烦),看到 port 为 8180,基本就大功告成!

gitlab.yml 是由 gitlab.rb 文件生成的,不要自行修改!

# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`.

production: &base
  #
  # 1. GitLab app settings
  # ==========================

  ## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.0.110
    port: 8180
    https: false

    # The maximum time unicorn/puma can spend on the request. This needs to be smaller than the worker timeout.
    # Default is 95% of the worker timeout
    max_request_duration_seconds: 57

四、启动测试

可以看到,git clone 里,已带上了自定义的 8180 端口,搞定!

五、进入ui页面提示密码错误,那么进入容器来修改下密码

首先,gitlab-ctl start 保证gitlab、redis同时处于启动状态。
然后使用命令进入修改密码状态:

docker exec -it gitlab /bin/bash

gitlab-rails console                     进入gitlab串口环境下
>user = User.where(id: 1).first          定位到gitlab数据库中Users表中的一个用户,通常就是管理员用户admin@local.host
> user.password=12345678                 重置管理员密码为12345678
> user.password_confirmation=12345678    确认管理员密码为12345678,小于8位会错误提示
> user.save!                             保存更改信息,需要使用后面的感叹号!

如下提示代表成功:

> user.save!
Enqueued ActionMailer::DeliveryJob ...
=> true

登陆gitlab使用新密码可以成功登陆root

posted @ 2023-06-17 15:46  大雷小屋  阅读(112)  评论(0编辑  收藏  举报