Docker 容器中修改 root 密码的正确方法

在使用 Docker 容器时,有时我们需要在容器创建后动态修改其中用户的密码,尤其是root用户的密码。很多人尝试使用docker exec命令直接执行chpasswd,但常常因为命令格式或 shell 解析问题导致密码未成功更新。本文将详细介绍如何正确使用docker exec修改容器内 root 密码,并提供多个可复用的示例。


一、背景说明

在构建镜像时,我们通常会在Dockerfile中设置初始密码,例如:

RUN echo "root:root" | chpasswd

但当容器已经运行起来后,如果需要临时或动态修改密码(比如出于安全考虑),就不能再修改Dockerfile了。此时,我们需要借助docker exec命令进入容器执行密码修改操作。


二、常见错误写法

很多初学者会这样写:

dockerexec-it centos7.5 root:newpassword|chpasswd

这是错误的!

原因:

  • docker exec后面必须指定要执行的命令(如/bin/bashchpasswd)。
  • 上述命令试图在宿主机上执行chpasswd,而不是在容器内部。
  • 管道|在 shell 中由宿主机解析,不会传递到容器内。

三、正确做法:使用/bin/bash -c包裹命令

✅ 方法 1:使用chpasswd批量修改(推荐)

dockerexec-it centos7-novnc2 /bin/bash -c"echo 'root:123456' | chpasswd"

注意:这里使用单引号包裹root:123456,避免双引号在 shell 中被提前解析。

如果你希望看到执行成功的提示,可以加上&& echo 'success'

dockerexec-it centos7-novnc2 /bin/bash -c"echo 'root:123456' | chpasswd && echo 'success'"

✅ 方法 2:使用passwd命令(需交互式输入,不推荐用于脚本)

dockerexec-i c0d /bin/bash -c"passwd root"

⚠️ 注意:

  • -i表示保持 STDIN 打开(即使没有-t)。
  • 此方式会进入交互式密码输入,不适合自动化脚本
  • 如果你在脚本中使用,建议改用chpasswd

四、完整示例

假设你有一个名为my-centos的正在运行的 CentOS 容器:

# 修改 root 密码为 MyNewPass123!dockerexec-it my-centos /bin/bash -c"echo 'root:MyNewPass123!' | chpasswd"# 验证是否成功(可选)dockerexec-it my-centos /bin/bash -c"grep root /etc/shadow"

💡 提示:/etc/shadow中 root 行的第二字段不应是!*,否则表示密码被锁定。


五、注意事项

  1. 引号嵌套问题
    外层用双引号时,内部字符串建议用单引号,避免 shell 转义混乱:

    # 正确"echo 'root:pass' | chpasswd"# 错误(可能报错)"echo "root:pass" | chpasswd"
  2. 容器必须安装chpasswd
    大多数基于centosubuntu的镜像默认包含chpasswd。若使用极简镜像(如alpine),需先安装shadow包。

  3. 安全性提醒
    密码明文出现在命令行中,可能会被history记录。生产环境中建议:

    • 使用环境变量传入密码
    • 或通过挂载加密文件的方式处理

六、总结

方法是否推荐适用场景
echo 'user:pass' | chpasswd✅ 强烈推荐自动化、脚本、批量修改
passwd username⚠️ 谨慎使用临时手动调试

记住核心语法

dockerexec-it<容器名>/bin/bash -c"echo '用户名:新密码' | chpasswd"

✅ 按照上述方法操作,即可成功在已运行的 Docker 容器中修改 root 或其他用户的密码!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1209343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cute_Animal_For_Kids_Qwen_Image容灾备份:生产环境部署注意事项

Cute_Animal_For_Kids_Qwen_Image容灾备份&#xff1a;生产环境部署注意事项 1. 这不是普通图片生成器&#xff0c;而是专为孩子设计的“可爱动物画师” 你有没有试过给孩子讲一个关于小熊猫骑自行车的故事&#xff0c;却找不到一张既安全又可爱的配图&#xff1f;或者想为幼…

光谷AI产业发展峰会倒计时2天:华科武汉校友会加持 总报名数超500人

雷递网 乐天 1月23日雷递网主办的《2026光谷AI产业发展峰会》将于2026年1月25日下午2点在武汉光谷皇冠假日酒店&#xff0c;现在是倒计时2天。本次《2026光谷AI产业发展峰会》的活动主旨是诚邀对武汉感兴趣的企业家、创业者、投资人到武汉交流与发展&#xff0c;探索与发现投资…

NHSE开源工具功能探索与实践指南

NHSE开源工具功能探索与实践指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 在游戏存档修改领域&#xff0c;玩家常面临两大核心挑战&#xff1a;一方面&#xff0c;游戏内资源收集的时间成本…

结合工程与科学:揭秘某中心Alexa核心技术演进

结合工程与科学&#xff1a;揭秘某中心Alexa核心技术演进 对许多人来说&#xff0c;使用语音与计算机、手机和其他设备交互&#xff0c;是由如某中心的Alexa等服务实现的、相对较新的体验。但对Luu Tran来说&#xff0c;这已是“老生常谈”。作为一位资深首席工程师&#xff0…

告别复杂配置!用科哥开发的GPEN镜像快速修复模糊人像

告别复杂配置&#xff01;用科哥开发的GPEN镜像快速修复模糊人像 你是否也遇到过这些情况&#xff1a;翻出老照片想发朋友圈&#xff0c;却发现人脸糊得看不清五官&#xff1b;客户发来一张低分辨率证件照&#xff0c;却要求立刻出高清海报&#xff1b;修图软件调了半小时&…

IDC 学习笔记

IDC机房管理是一个涉及基础设施、IT技术和标准流程的综合性领域。 知识体系 基础设施层 核心系统:供配电系统 (含UPS)、暖通空调系统 (精密空调)、消防系统、安防与环境监控系统 (门禁、视频、温湿度、漏水)。 学习要点:原理、日常巡检、预防性维护、故障应急处理、容量规划…

Qwen为何能替代多模型?指令遵循能力深度剖析

Qwen为何能替代多模型&#xff1f;指令遵循能力深度剖析 1. 单模型的“分身术”&#xff1a;Qwen如何用一套参数干两份活 你有没有遇到过这样的场景&#xff1a;想做个简单的情感分析&#xff0c;结果得先装BERT&#xff0c;再配一个对话模型&#xff0c;最后发现显存不够、环…

基于阶梯式碳交易机制的电制氢综合能源系统热电优化matlab仿真

1.课题概述 基于阶梯式碳交易机制的电制氢综合能源系统热电优化matlab仿真。全球气候变暖,我国提出 “双碳” 目标,电力行业碳减排对实现目标意义重大。综合能源系统(IES)可优化多能系统低碳经济性,但多数文献在研…

2026年1月成都共享自助洗车_智能自助洗车机加盟商TOP3综合指南

2026年1月成都共享自助洗车_智能自助洗车机加盟商TOP3综合指南随着国内汽车保有量突破3.5亿辆,传统洗车行业受租金高、人工成本上涨等痛点制约,共享自助洗车模式凭借24小时运营、低成本、高毛利的优势,成为汽车后市…

机器人领域 2015→2025 的总纲级十年演进

给出一份**“机器人领域 2015→2025 的总纲级十年演进”&#xff1a;用一张主线地图**把所有分支串起来&#xff0c;告诉你“十年真正变的是什么、分水岭在哪里、为什么今天大家都在谈平台化与闭环治理”。0) 一句话总纲2015&#xff1a;拼算法让机器人能跑&#xff1b;2020&am…

VMware ESXi 9.0.2.0 macOS Unlocker OEM BIOS 2.7 H3C 新华三 定制版

VMware ESXi 9.0.2.0 macOS Unlocker & OEM BIOS 2.7 H3C 新华三 定制版VMware ESXi 9.0.2.0 macOS Unlocker & OEM BIOS 2.7 H3C 新华三 定制版 VMware ESXi 9.0.2.0 macOS Unlocker & OEM BIOS 2.7 标准…

VMware ESXi 9.0.2.0 macOS Unlocker OEM BIOS 2.7 Dell 戴尔 定制版

VMware ESXi 9.0.2.0 macOS Unlocker & OEM BIOS 2.7 Dell 戴尔 定制版VMware ESXi 9.0.2.0 macOS Unlocker & OEM BIOS 2.7 Dell 戴尔 定制版 VMware ESXi 9.0.2.0 macOS Unlocker & OEM BIOS 2.7 标准版…

基于SIMMECHANICS的单自由度磁悬浮隔振器PID控制系统simulink建模与仿真

1.课题概述 基于SIMMECHANICS的单自由度磁悬浮隔振器PID控制系统simulink建模与仿真。其中,SIMMECHANICS是MATLAB仿真中的一个工具箱,同时结合SIMULINK、MATLAB的功能。利用SIMMECHANICS模块框图对机构运动进行建模和…

基于 Vue3 + TypeScript + Element Plus 建立 DeepSeek AI 对话界面(流式输出)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

VMware ESXi 9.0.2.0 macOS Unlocker OEM BIOS 2.7 Realtek 网卡驱动定制版

ESXi 9.0.2.0 Realtek 网卡(RTL8111 / RTL8125 / RTL8126 / RTL8127)定制版ESXi 9.0.2.0 Realtek 网卡(RTL8111 / RTL8125 / RTL8126 / RTL8127)定制版 VMware ESXi 9.0.2.0 macOS Unlocker & OEM BIOS 2.7 集…

Z-Image-Turbo日志查看技巧,快速定位运行问题

Z-Image-Turbo日志查看技巧&#xff0c;快速定位运行问题 1. 为什么日志是排查Z-Image-Turbo问题的第一把手 当你在本地浏览器打开 http://127.0.0.1:7860 却只看到空白页、加载转圈、报错弹窗&#xff0c;或者生成图片时卡住、出错、提示“CUDA out of memory”&#xff0c;…

MinerU电商应用场景:商品说明书结构化提取案例

MinerU电商应用场景&#xff1a;商品说明书结构化提取案例 在电商运营中&#xff0c;商品说明书往往以PDF形式存在——可能是厂家提供的技术文档、产品参数表&#xff0c;也可能是第三方检测报告。这些文件通常排版复杂&#xff1a;多栏布局、嵌套表格、公式图表混排、扫描件模…

基于MATLAB的三维装箱程序实现(遗传算法+模拟退火优化)

一、核心算法框架 三维装箱问题通过遗传算法(GA)全局搜索与模拟退火(SA)局部优化结合,解决多约束条件下的最优装箱问题。核心流程如下:数据输入:读取货物尺寸(长宽高)和货箱尺寸初始化种群:生成随机装箱方案…

在 IDEA 中,GIT 合并分支时选择远程的 dev 分支和本地的 dev 分支,有区别吗

我现在要把 dev 分支合并到 prd 分支&#xff0c;我选择本地 dev 分支和远程 dev 分支有区别吗 是的&#xff0c;有非常大的区别。在将 dev 分支合并到 prd 分支时&#xff0c;选择“本地 dev”还是“远程 dev”直接决定了你合并进去的代码是否是最新的。 简单来说&#xff1a;…

MinerU vs PDF-Extract-Kit实战对比:多模态提取谁更准?详细步骤

MinerU vs PDF-Extract-Kit实战对比&#xff1a;多模态提取谁更准&#xff1f; 在处理科研论文、技术白皮书、财报报告等专业PDF文档时&#xff0c;你是否也遇到过这些问题&#xff1a; 多栏排版一提取就乱序&#xff0c;段落东拼西凑&#xff1b;表格变成一堆空格和换行符&a…