如何重置 Docker 里的 gitlab root 用户密码

前言

前面的文章《通过 docker 搭建自用的 gitlab 服务》安装好了一个 Docker 容器里面的 Gitlab 服务。当时为了安全,设置了一个16位随机字符串作为密码。结果忘记存下来。现在不记得了。怎么解决呢?

Gitlab 官方有详细的重置密码 的说明。主要是执行 Gitlab 的命令进入 Gitlab 命令行的控制台,然后执行命令来实现。但是我们的 Gitlab 是安装在 Docker里面的,所以现在问题是如何进入 Docker 来执行 Docker 容器里面的命令。

进入 Docker 容器

进入 Docker 容器内部的方法还是有不少的。这里只是要进入 Docker 来执行 Docker 容器内部的命令,所以我采用了 Docker 内置的命令 docker exec 命令的方式来实现。

首先找出容器的唯一标识

docker ps
显示运行的 docker 容器

然后执行下面的命令就进入了这个 Docker 容器的命令行环境。

docker exec -it 7a45cd079bdc /bin/bash

重置 gitlab 密码

接下来就按照Gitlab 官方有详细的重置密码 的说明执行下面的命令

gitlab-rails console production
Loading production environment (Rails 4.2.10)
irb(main):001:0> user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):003:0> user.password='9aa9871ouf906'
=> "9aa9871ouf906"
irb(main):004:0> user.password_confirmation='9aa9871ouf906'          
=> "9aa9871ouf906"
irb(main):005:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: 55d5938a-8506-49cc-be8c-6afd666c4efe) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/1
=> true
irb(main):006:0> 

这样我们就将 root 用户的密码更改为 9aa9871ouf906 了。

后记

虽然问题解决。但是还是把密码都记好吧。我差点要重装 gitlab 了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容