忘记Docker中Gitlab的root密码
gitlab的管理员是root,要是忘记密码,就可以进入docker中重置。
1、先进入docker。
要进入gitlab的容器,比如这个容器的名称是fc9704ceb157,就可以用以下的命令进入这个容器。
[root@gitlab ~]# docker exec -it fc9704ceb157 bash
2、进入容器后,还需要进入gitlab容器的控制台。
root@3316d968c8f9:/# gitlab-rails console
———————————————————————————————————
GitLab: 11.9.6 (14bac95)
GitLab Shell: 8.7.1
postgresql: 9.6.11
———————————————————————————————————
Loading production environment (Rails 5.0.7.1)
irb(main):001:0>
3、进入容器的控制台后,需要定位到gitlab数据库中Users表中的一个用户,这个用户就是gitlab的管理员root。
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
切换到root后,现在就可以重置它的密码。要执行两次,第二次是确认。
irb(main):002:0> user.password=‘root_password’
irb(main):003:0> user.password_confirmation=‘root_password’
4、重置密码后就是保存。
irb(main):004:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: 03f49a2d-b4ab-4999-9a31-6c4cb8af9e73) to Sidekiq(mailers) with arguments: “DeviseMailer”, “password_change”, “deliver_now”, #<GlobalID:0x00007f3be2875c88 @uri=#<URI::GID gid://gitlab/User/1>>
=> true
保存后执行exit退出就可以。
5、最后,使用新设置的gitlab管理员root用户密码登录gitlab的web界面进行验证。
《CentOS 8 Linux系统管理与一线运维实战》