Skip to content

Docker 中 gitlab 登录密码忘了怎么办?

轩辕十四
Published date:

一直自动登录导致忘记 gitlab 的密码,这篇文章我们来通过命令行修改 gitlab 的密码。

Table of contents

Open Table of contents

启动并进入 Docker 中的 gitlab

$ docker exec -it gitlab-ce /bin/bash

在生产环境运行 GitLab 的 Rails 控制台

$ gitlab-rails console -e production

执行命令后需要稍微等待,将会进入如下界面

root@dbbc74ab8f4f:/# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [aarch64-linux]
 GitLab:       16.2.1 (3216f7a4aef) FOSS
 GitLab Shell: 14.23.0
 PostgreSQL:   13.11
------------------------------------------------------------[ booted in 15.32s ]
Loading production environment (Rails 7.0.6)
irb(main):001:0>

获取所有用户

$ user = User.all

执行命令后你会看到 gitlab 中所有用户信息,大致如下

$ => [#<User id:1 @root>, #<User id:34 @my_gitlab>]

上面输出了一个用户数组,其中有两个用户,一个是 root 一个是 my_gitlab

这次我们需要修改的是 my_gitlab 账户的密码,所以我们获取对应的 User 对象。

根据 id 查询用户

$ user = User.where(id:34).first

你会得到如下的输出

$ => #<User id:34 @my_gitlab>

现在我们的 user 变量存的就是 my_gitlab 对象。

重置密码

$ user.password = 'xxxx'

执行上面的命令修改 my_gitlab 的密码。

$ user.password_confirmation = 'xxxx'

执行上面的命令确认密码。修改完密码后记得调用 save 进行保存。

$ user.save

看到输出 true 即修改成功。最后执行 exit。退出设置即可。打开网页,使用刚才修改的密码登录。

Previous
Android 学习之 Activity 生命周期
Next
C 语言重拾【八】结构和其他数据形式