最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker容器中修改root密碼的正確方法

 更新時(shí)間:2026年01月26日 08:53:00   作者:weixin_46244623  
在使用 Docker 容器時(shí),有時(shí)我們需要在容器創(chuàng)建后動(dòng)態(tài)修改其中用戶的密碼,尤其是 root 用戶的密碼,本文詳細(xì)介紹了如何使用dockerexec命令在運(yùn)行中的Docker容器中動(dòng)態(tài)修改root用戶的密碼,并提供了多個(gè)示例,需要的朋友可以參考下

在使用 Docker 容器時(shí),有時(shí)我們需要在容器創(chuàng)建后動(dòng)態(tài)修改其中用戶的密碼,尤其是 root 用戶的密碼。很多人嘗試使用 docker exec 命令直接執(zhí)行 chpasswd,但常常因?yàn)槊罡袷交?shell 解析問(wèn)題導(dǎo)致密碼未成功更新。本文將詳細(xì)介紹如何正確使用 docker exec 修改容器內(nèi) root 密碼,并提供多個(gè)可復(fù)用的示例。

一、背景說(shuō)明

在構(gòu)建鏡像時(shí),我們通常會(huì)在 Dockerfile 中設(shè)置初始密碼,例如:

RUN echo "root:root" | chpasswd

但當(dāng)容器已經(jīng)運(yùn)行起來(lái)后,如果需要臨時(shí)或動(dòng)態(tài)修改密碼(比如出于安全考慮),就不能再修改 Dockerfile 了。此時(shí),我們需要借助 docker exec 命令進(jìn)入容器執(zhí)行密碼修改操作。

二、常見(jiàn)錯(cuò)誤寫法

很多初學(xué)者會(huì)這樣寫:

docker exec -it centos7.5 root:newpassword | chpasswd

? 這是錯(cuò)誤的!

原因:

  • docker exec 后面必須指定要執(zhí)行的命令(如 /bin/bashchpasswd)。
  • 上述命令試圖在宿主機(jī)上執(zhí)行 chpasswd,而不是在容器內(nèi)部。
  • 管道 | 在 shell 中由宿主機(jī)解析,不會(huì)傳遞到容器內(nèi)。

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

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

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

注意:這里使用 單引號(hào) 包裹 root:123456,避免雙引號(hào)在 shell 中被提前解析。

如果你希望看到執(zhí)行成功的提示,可以加上 && echo 'success'

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

方法 2:使用passwd命令(需交互式輸入,不推薦用于腳本)

docker exec -i c0d /bin/bash -c "passwd root"

注意:

  • -i 表示保持 STDIN 打開(kāi)(即使沒(méi)有 -t)。
  • 此方式會(huì)進(jìn)入交互式密碼輸入,不適合自動(dòng)化腳本。
  • 如果你在腳本中使用,建議改用 chpasswd。

四、完整示例

假設(shè)你有一個(gè)名為 my-centos 的正在運(yùn)行的 CentOS 容器:

# 修改 root 密碼為 MyNewPass123!
docker exec -it my-centos /bin/bash -c "echo 'root:MyNewPass123!' | chpasswd"

# 驗(yàn)證是否成功(可選)
docker exec -it my-centos /bin/bash -c "grep root /etc/shadow"

提示:/etc/shadow 中 root 行的第二字段不應(yīng)是 ! 或 *,否則表示密碼被鎖定。

五、注意事項(xiàng)

引號(hào)嵌套問(wèn)題
外層用雙引號(hào)時(shí),內(nèi)部字符串建議用單引號(hào),避免 shell 轉(zhuǎn)義混亂:

# 正確
"echo 'root:pass' | chpasswd"
# 錯(cuò)誤(可能報(bào)錯(cuò))
"echo "root:pass" | chpasswd"

容器必須安裝 chpasswd
大多數(shù)基于 centos、ubuntu 的鏡像默認(rèn)包含 chpasswd。若使用極簡(jiǎn)鏡像(如 alpine),需先安裝 shadow 包。

安全性提醒
密碼明文出現(xiàn)在命令行中,可能會(huì)被 history 記錄。生產(chǎn)環(huán)境中建議:

  • 使用環(huán)境變量傳入密碼
  • 或通過(guò)掛載加密文件的方式處理

六、總結(jié)

方法是否推薦適用場(chǎng)景
echo 'user:pass' | chpasswd強(qiáng)烈推薦自動(dòng)化、腳本、批量修改
passwd username謹(jǐn)慎使用臨時(shí)手動(dòng)調(diào)試

記住核心語(yǔ)法

docker exec -it <容器名> /bin/bash -c "echo '用戶名:新密碼' | chpasswd"

按照上述方法操作,即可成功在已運(yùn)行的 Docker 容器中修改 root 或其他用戶的密碼!

到此這篇關(guān)于Docker容器中修改root密碼的正確方法的文章就介紹到這了,更多相關(guān)Docker修改root密碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Docker Compose搭建 Confluence的教程

    使用Docker Compose搭建 Confluence的教程

    本文將介紹如何使用 Docker Compose 快速搭建 Confluence 、以及如何和 Traefik 一同使用,如果你看過(guò)之前的內(nèi)容,跟隨本文應(yīng)該能在十分鐘內(nèi)解決戰(zhàn)斗,感興趣的朋友快來(lái)看看吧
    2021-06-06
  • docker搭建odoo16開(kāi)發(fā)環(huán)境的實(shí)現(xiàn)

    docker搭建odoo16開(kāi)發(fā)環(huán)境的實(shí)現(xiàn)

    Odoo是全球流行的開(kāi)源企業(yè)管理套件,本文主要介紹了docker搭建odoo16開(kāi)發(fā)環(huán)境的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • Docker+K8S 集群環(huán)境搭建及分布式應(yīng)用部署

    Docker+K8S 集群環(huán)境搭建及分布式應(yīng)用部署

    這篇文章主要介紹了Docker+K8S 集群環(huán)境搭建及分布式應(yīng)用部署,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 從0開(kāi)始了解Docker入門(小結(jié))

    從0開(kāi)始了解Docker入門(小結(jié))

    本篇文章主要介紹了從0開(kāi)始了解Docker(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • docker save鏡像時(shí)進(jìn)行g(shù)zip壓縮方式

    docker save鏡像時(shí)進(jìn)行g(shù)zip壓縮方式

    文章介紹了三種Docker鏡像壓縮方法:管道壓縮(推薦,使用gzip/pigz,速度快)、xz壓縮(高壓縮比但慢)、及先保存再壓縮(不推薦,占空間),建議日常用管道gzip,傳輸用xz,避免直接保存未壓縮文件
    2025-08-08
  • docker安裝clickhouse過(guò)程詳解

    docker安裝clickhouse過(guò)程詳解

    這篇文章主要為大家介紹了docker安裝clickhouse過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • docker-compose部署MySQL8的實(shí)現(xiàn)

    docker-compose部署MySQL8的實(shí)現(xiàn)

    本文主要介紹了docker-compose部署MySQL8的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 手工制作docker鏡像-包含多個(gè)服務(wù)ssh+nginx

    手工制作docker鏡像-包含多個(gè)服務(wù)ssh+nginx

    這篇文章主要介紹了手工制作docker鏡像-包含多個(gè)服務(wù)ssh+nginx,需要的朋友可以參考下
    2024-07-07
  • idea使用docker生成鏡像的詳細(xì)步驟

    idea使用docker生成鏡像的詳細(xì)步驟

    本文詳細(xì)介紹了在Windows環(huán)境下使用Docker?Desktop進(jìn)行Docker鏡像的打包、運(yùn)行、導(dǎo)出以及在Linux系統(tǒng)中的導(dǎo)入操作,重點(diǎn)講解了如何在Windows中安裝Docker?Desktop,構(gòu)建Docker鏡像的步驟,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • docker部署mysql問(wèn)題

    docker部署mysql問(wèn)題

    這篇文章主要介紹了docker部署mysql問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評(píng)論

新沂市| 张掖市| 晋中市| 绵阳市| 万盛区| 台中县| 会东县| 龙海市| 永川市| 香河县| 夹江县| 西青区| 武义县| 荆州市| 崇州市| 贵阳市| 满城县| 高雄市| 建始县| 铁力市| 元江| 揭西县| 苍山县| 喀喇沁旗| 时尚| 顺平县| 涟源市| 昔阳县| 延长县| 平潭县| 静宁县| 同德县| 孝昌县| 涞水县| 林西县| 南丹县| 宁明县| 会同县| 禄丰县| 阿合奇县| 余庆县|