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

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

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

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

一、背景說明

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

RUN echo "root:root" | chpasswd

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

二、常見錯誤寫法

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

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

? 這是錯誤的!

原因:

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

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

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

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

注意:這里使用 單引號 包裹 root:123456,避免雙引號在 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 打開(即使沒有 -t)。
  • 此方式會進(jìn)入交互式密碼輸入,不適合自動化腳本。
  • 如果你在腳本中使用,建議改用 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)

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

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

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

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

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

六、總結(jié)

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

記住核心語法

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

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

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

相關(guān)文章

  • 使用Docker Compose搭建 Confluence的教程

    使用Docker Compose搭建 Confluence的教程

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

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

    Odoo是全球流行的開源企業(yè)管理套件,本文主要介紹了docker搭建odoo16開發(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)用部署,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 從0開始了解Docker入門(小結(jié))

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

    本篇文章主要介紹了從0開始了解Docker(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    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過程詳解

    docker安裝clickhouse過程詳解

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

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

    本文主要介紹了docker-compose部署MySQL8的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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問題

    docker部署mysql問題

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

最新評論

隆德县| 绍兴县| 波密县| 永泰县| 广灵县| 石楼县| 五大连池市| 六安市| 安远县| 江源县| 东莞市| 双鸭山市| 黑龙江省| 教育| 临澧县| 泸水县| 衡南县| 密山市| 类乌齐县| 鄂托克旗| 澜沧| 松溪县| 桦川县| 枣庄市| 大名县| 泰顺县| 会昌县| 凌海市| 会泽县| 浪卡子县| 临潭县| 疏附县| 宿迁市| 营口市| 黔江区| 潮州市| 万宁市| 双峰县| 克山县| 定日县| 九江县|