2014-11-01 210 views
1

我想爲容器設置$ PS1環境變量。它可以幫助我確定多層次或複雜的碼頭環境設置。目前,泊塢窗與如何在Docker容器中設置PS1

根@容器ID#

容器提示如果我可以改變它的下面,我可以通過看$ PS1提示本身識別容器。

[1級]根@容器ID#

我做過實驗,通過做我自己的形象(Dockerfile),.profile文件等出口$ PS1但它不反映。

回答

0

我通常創建/home/USER/.bashrc或/root/.bashrc,具體取決於Dockerfile的用戶是誰。這很好。我試過

ENV PS1 '# ' 

但這從來沒有爲我工作。

1

我們使用類似的技術在複雜容器建立跟蹤輸入和輸出。

https://github.com/ianmiell/shutit/blob/master/shutit_global.py#L1338

這條線代表的處理泊塢窗/(P)來之不易的經驗,產品預期組合:如果要恢復

"SHUTIT_BACKUP_PS1_%s=$PS1 && PS1='%s' && unset PROMPT_COMMAND" 

備份提示是得心應手,設置帶有PS1的PS1 =設置PS1,並且取消設置PROMPT_COMMAND可以消除終端被重置等任何令人討厭的意外。

如果問題是關於如何確保當你運行容器時(而不是構建),那麼你可能需要添加一些東西到你的.bashrc/.profile文件,這取決於你如何運行你的容器。據我所知,沒有辦法通過dockerfile指令來確保它並保持它。

0

您應該在.profile中設置,而不是.bashrc

只需從您的根目錄或家中打開.profile,然後將PS1='\[email protected]\h:\w\$ '替換爲PS1='\e[33;1m\[email protected]\h: \e[31m\W\e[0m\$ '或任何您想要的。

請注意,您需要重新啓動容器。

相關問題