如何重置 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
=> #
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 了。

你可能感兴趣的:(如何重置 Docker 里的 gitlab root 用户密码)