You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非root无文本编辑器时如何修改Docker容器内文件重置Jenkins密码

Docker环境下无编辑器、无容器内root权限的Jenkins密码重置方案

不需要在容器内安装任何文本编辑器,也不需要容器内普通用户的root提权能力,以下三种方案任选其一即可:

方案1:直接操作宿主机挂载目录(最稳定,优先选)

  • 执行命令停止运行中的Jenkins容器:docker stop <你的Jenkins容器ID或名称>
  • 查询Jenkins容器的主目录挂载路径:docker inspect <你的Jenkins容器ID或名称> | grep Source,找到映射容器内/var/jenkins_home的宿主机目录路径
  • 进入该宿主机目录,找到config.xml文件,用宿主机自带的任意文本编辑器打开
  • 搜索配置项<useSecurity>true</useSecurity>,将值从true修改为false后保存文件
  • 执行命令重启Jenkins容器:docker start <你的Jenkins容器ID或名称>
  • 此时访问Jenkins地址会跳过登录校验直接进入系统,进入「全局安全配置」页面重新开启安全认证,设置新的管理员账号密码,保存后重启容器即可正常使用。

方案2:用系统自带sed流编辑器修改(无需额外工具)

所有Linux基础环境默认自带sed流编辑器,不需要安装,也不需要进入容器交互终端操作:

  • 先停止Jenkins容器:docker stop <你的Jenkins容器ID或名称>
  • 启动容器后直接执行sed替换命令修改配置:
    docker start <你的Jenkins容器ID或名称> && docker exec -u root <你的Jenkins容器ID或名称> sed -i 's/<useSecurity>true<\/useSecurity>/<useSecurity>false<\/useSecurity>/g' /var/jenkins_home/config.xml
  • 重启一次容器:docker restart <你的Jenkins容器ID或名称>
  • 后续重设密码的操作和方案1一致。

方案3:宿主机修改配置后拷贝覆盖(完全不依赖容器内工具)

如果容器做了权限限制无法直接在内部执行修改命令,可以用docker cp的方式覆盖配置:

  • 从运行中的容器把配置文件拷到宿主机当前目录:docker cp <你的Jenkins容器ID或名称>:/var/jenkins_home/config.xml ./
  • 在宿主机上编辑拷出的config.xml,同样将<useSecurity>true</useSecurity>改为false保存
  • 停止Jenkins容器:docker stop <你的Jenkins容器ID或名称>
  • 把修改好的配置文件拷回容器覆盖原文件:docker cp ./config.xml <你的Jenkins容器ID或名称>:/var/jenkins_home/config.xml
  • 重启容器后按方案1的步骤重设密码即可。

注意:配置修改期间建议限制Jenkins端口的公网访问,避免免登录状态下出现未授权访问风险,重设密码确认登录正常后再放开访问限制。

内容的提问来源于stack exchange,提问作者Autechre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 08:33:20