2017-06-22 32 views

回答

2

我想我可以從你沒有實際上是在談論docker logs(這是一個碼頭工人碼頭工人真正的命令,你沒有運行)的圖片告訴。看起來你想知道爲什麼你的控制檯輸出不能用格式良好的格式打印出來,然後在docker exec -it ... bash的容器中找到命令提示符。

我懷疑你的PS1長度計算錯誤,無論是在容器內或主機上。閱讀關於它here。容器內的提示看起來像標準提示,並且主機上的提示看起來很花哨,所以我敢打賭,你的OS X主機上的PS1有問題。

要看到,如果你的主機原因造成的問題,放到一個子shell以最小的PS1,然後運行泊塢窗,看看問題是否仍然存在:

$ bash --rcfile <(echo "PS1='$ '") -i 
$ docker exec -it ... bash 
# ls 

如果問題消失了,這是一個您的主機上PS1的問題。按照上面鏈接中的指示永久修復它,以便正確計算長度。

+0

非常感謝您的評論,我嘗試了您的代碼,但仍然無法以正確的格式顯示消息。因爲我已經爲終端安裝了「oh-my-zsh」。是否與「oh-my-zsh」設置相關?或者任何可以更改爲測試的設置? –

+0

似乎我重新安裝碼頭,然後恢復正常。謝謝。 –

+1

OP報告的是某些版本的Docker(現在是固定的上游)上的TTY初始化問題;與PS1的價值無關。我們已經有幾個關於SO的已有問題(標記爲相互重複)。 –