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

docker bashrc文件的合理配置方案詳解

 更新時間:2025年10月30日 10:53:26   作者:winds~  
本文給大家詳細介紹docker bashrc文件的合理配置方案詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

docker中ubuntu的bashrc與宿主機中的bashrc有沒有辦法單獨控制,現(xiàn)在我的docker中的bashrc使用的是宿主機的bashrc
之所以出現(xiàn)「容器里的 .bashrc 等于宿主機的 .bashrc」,通常是因為把宿主機的 $HOME(甚至直接把 ~/.bashrc)作為 volume 掛進了容器。把這個關(guān)系改掉或加上條件判斷,就能實現(xiàn)「單獨控制」。

下面是幾種常見、簡單的方案——按“最干凈 → 最臨時”的順序排:

方案 A:在鏡像里放一份獨立的.bashrc(推薦)

構(gòu)建鏡像時就內(nèi)置容器專用的 .bashrc,并且不要把宿主機的 $HOME 掛進容器。

Dockerfile

FROM ubuntu:24.04
# 可選:裝點補全
RUN apt-get update && apt-get install -y bash-completion && rm -rf /var/lib/apt/lists/*
# 復制你為容器準備的 rc(比如放在同目錄的 docker.bashrc)
COPY docker.bashrc /root/.bashrc
SHELL ["/bin/bash", "-lc"]

運行容器時避免掛載宿主機的 $HOME

docker build -t my-ubuntu .
docker run -it --name u1 my-ubuntu bash

如果你需要非 root 賬號,可以在鏡像里創(chuàng)建用戶并復制到 /home/<user>/.bashrc。

方案 B:運行時用 volume 顯式覆蓋容器的.bashrc

不改鏡像也可以,用一份專門給容器用的 rc 文件去覆蓋容器里的 ~/.bashrc

# 假設準備了一份 /path/to/container.bashrc
docker run -it \
  -v /path/to/container.bashrc:/root/.bashrc:ro \
  ubuntu:24.04 bash

這樣容器永遠讀你綁定的那份文件,和宿主機自己的 ~/.bashrc 完全隔離。

docker-compose.yml 示例

services:
  dev:
    image: ubuntu:24.04
    volumes:
      - /path/to/container.bashrc:/root/.bashrc:ro
    command: bash

方案 C:給容器單獨的 HOME 目錄

有時你需要把一些代碼目錄掛進去,但又不想把宿主機的 $HOME 帶進去??梢越o容器指定獨立的 HOME 與工作目錄:

docker run -it \
  -e HOME=/home/dev -w /home/dev \
  -v /some/project:/work \
  ubuntu:24.04 bash
# 首次進入后創(chuàng)建容器專用 rc
cp /etc/skel/.bashrc ~/.bashrc  # 或者自己寫一份

關(guān)鍵點是不要-v $HOME:/root 之類的映射;否則容器會看到宿主機的 dotfiles。

方案 D:必須共享同一份文件時,用“容器檢測”分支控制

如果出于某些原因必須把宿主機 ~ 掛進去(比如需要同一份 SSH key),那就在這份共享的 .bashrc 里加判斷,讓容器和宿主機走不同邏輯:

# ~/.bashrc(共享)
is_in_docker=false
if [ -f /.dockerenv ] || grep -qa "docker" /proc/1/cgroup 2>/dev/null; then
  is_in_docker=true
fi
if $is_in_docker; then
  # 容器專用設置
  export PS1='(ctr) \u@\h:\w\$ '
  alias ll='ls -alF --color=auto'
  # 也可以把容器專用內(nèi)容拆到一個文件
  [ -f ~/.bashrc.d/docker.rc ] && source ~/.bashrc.d/docker.rc
else
  # 宿主機專用設置
  export PS1='\u@\h:\w\$ '
  [ -f ~/.bashrc.d/host.rc ] && source ~/.bashrc.d/host.rc
fi

這樣雖然還是“一份文件”,但邏輯上已經(jīng)做到了“分別控制”。

方案 E:臨時跳過 rc

只想偶爾進入容器不讀任何 rc,可用:

docker exec -it <container> bash --noprofile --norc

快速排查你現(xiàn)在為什么共用.bashrc

看你當前的 docker run / compose 配置里是否有類似:

  • -v $HOME:/root-v /home/<user>:/root
  • -v ~/.bashrc:/root/.bashrc

只要存在上述映射,容器就會用到宿主機的 rc。刪除或替換掉映射即可。

到此這篇關(guān)于docker bashrc文件的合理配置的文章就介紹到這了,更多相關(guān)docker bashrc文件配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker部署Macvlan實現(xiàn)跨主機網(wǎng)絡通信的實現(xiàn)

    docker部署Macvlan實現(xiàn)跨主機網(wǎng)絡通信的實現(xiàn)

    這篇文章主要介紹了docker部署Macvlan實現(xiàn)跨主機網(wǎng)絡通信的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Docker連接宿主Redis的方法步驟

    Docker連接宿主Redis的方法步驟

    本文主要介紹了Docker連接宿主Redis的方法步驟,可以輕松地使用Docker容器與宿主機上的Redis進行交互,實現(xiàn)高效的數(shù)據(jù)存儲和共享,,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • yum下載docker安裝包安裝到離線機器的實例代碼詳解

    yum下載docker安裝包安裝到離線機器的實例代碼詳解

    本文通過實例代碼給大家介紹了yum下載docker安裝包,安裝到離線機器,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-12-12
  • rocketmq-streams的ILeaseService使用示例詳解

    rocketmq-streams的ILeaseService使用示例詳解

    這篇文章主要為大家介紹了rocketmq-streams的ILeaseService使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 給常用Docker命令起別名的方法詳解

    給常用Docker命令起別名的方法詳解

    在日常使用Docker的過程中,你是否經(jīng)常重復輸入docker ps、docker images、docker exec -it container_name /bin/bash這類命令,雖然這些命令清晰明確,但頻繁敲打不僅費時,還容易因拼寫錯誤導致操作失敗所以本文給大家介紹了如何給常用Docker命令起別名
    2025-12-12
  • docker imageid 和 digest區(qū)別解析

    docker imageid 和 digest區(qū)別解析

    在Docker中,image ID和digest是兩個不同的標識符,用于唯一標識和引用Docker鏡像的不同方面,這篇文章主要介紹了docker imageid 和 digest區(qū)別,需要的朋友可以參考下
    2023-06-06
  • Docker?安裝Jenkins全過程及踩坑指南

    Docker?安裝Jenkins全過程及踩坑指南

    這篇文章主要介紹了Docker?安裝Jenkins?踩坑全指南,本文通過圖文示例相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • docker容器的內(nèi)存以及狀態(tài)詳解

    docker容器的內(nèi)存以及狀態(tài)詳解

    通過docker stats獲取容器ID,結(jié)合ps -ef獲取進程PID,利用top -p PID分析內(nèi)存占用,用于排查阿里云ECS實例內(nèi)存過高問題,參考阿里云幫助中心相關(guān)說明進行處理
    2025-08-08
  • Dockerfile文件詳細介紹

    Dockerfile文件詳細介紹

    Dockerfile 是一個文本文件,里面包含組裝新鏡像時用到的基礎鏡像和各種指令。使用dockerfile 文件來定義鏡像,然后運行鏡像,啟動容器。本文詳細介紹了Dockerfile文件,感興趣的小伙伴可以參考一下
    2023-04-04
  • Linux中使用Docker構(gòu)建Nginx容器的詳細攻略

    Linux中使用Docker構(gòu)建Nginx容器的詳細攻略

    Nginx是一款廣泛使用的高性能 Web 服務器和反向代理服務器,適用于各種場景,如靜態(tài)文件服務、負載均衡和 API 網(wǎng)關(guān)等,在本教程中,我們將詳細介紹如何在 Docker 中構(gòu)建并運行一個 Nginx 容器,幫助開發(fā)者快速搭建和管理 Nginx 服務,感興趣的朋友跟隨小編一起看看吧
    2025-12-12

最新評論

郓城县| 吉木萨尔县| 柳江县| 通化县| 苏尼特右旗| 大埔县| 神木县| 郎溪县| 通辽市| 乌鲁木齐县| 托克托县| 胶州市| 平远县| 泗水县| 胶州市| 修水县| 河北区| 昌乐县| 鸡泽县| 徐闻县| 登封市| 紫阳县| 吉林省| 石屏县| 广昌县| 西畴县| 冀州市| 延津县| 错那县| 星座| 南郑县| 五大连池市| 连南| 彭泽县| 沙河市| 奉新县| 乃东县| 年辖:市辖区| 高雄县| 红桥区| 余庆县|