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

本文介绍如何在Docker容器中重置Gitlab密码。通过使用docker exec命令进入容器,再利用Gitlab官方提供的命令进行密码修改,解决了因忘记密码而无法登录的问题。

前面的文章《通过 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 了。

 

### Docker 安装 GitLab 后初始化 Admin 密码设置 当通过 Docker 成功安装 GitLab 后,首次访问 Web 界面时会提示设置管理员账户的密码。如果错过这个机会或者需要重置密码,则可以通过特定命令来完成。 对于已经运行中的 GitLab 实例,可以利用 `docker exec` 命令进入容器内部并更改默认管理用户密码: ```bash # 进入正在运行的 GitLab 容器内执行密码变更指令 docker exec -it gitlab bash -c 'echo "gitlab_rails[password]=your_new_password" >> /etc/gitlab/initial_root_password' ``` 上述命令将会把新的 root 用户密码写入配置文件 `/etc/gitlab/initial_root_password` 中[^1]。 另外一种方式是在启动参数加入环境变量定义,从而实现自动设定初始密码的功能,在启动服务之前编辑 Compose 文件或其他形式的服务描述文档添加如下字段: ```yaml environment: GITLAB_ROOT_PASSWORD: your_strong_password_here ``` 这样做的好处在于可以在初次部署的时候就预先指定了安全强度较高的密码[^4]。 一旦设置了初始密码之后,建议立即登录到系统并通过官方推荐的方法更新它以增强安全性。通常情况下,默认用户名为 `root`,而新创建出来的密码则用于第一次登陆验证身份之用[^3]。 #### 注意事项 - 如果忘记了自定义设置过的密码,也可以按照前述方法重新生成一个新的临时密码。 - 修改完毕后记得保存好最新的凭证信息以便后续维护工作使用。 - 对于生产环境中使用的实例来说,务必遵循最佳实践指南定期更换重要账号的相关认证资料。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值