【问题标题】:Docker Exec -it bash Terminal Output Improperly Formatted [duplicate]Docker Exec -it bash终端输出格式不正确[重复]
【发布时间】:2017-06-22 04:24:38
【问题描述】:

运行docker exec -it ... bash 后的命令提示符格式不正确。问题发生在 OSX 终端或 iTerm2 上。我需要更改 iTerm2 的任何设置还是与 bash 命令有关?谢谢。

图片:

【问题讨论】:

    标签: docker iterm2


    【解决方案1】:

    我想我可以从图片中看出您实际上并不是在谈论 docker logs(这是一个您没有运行的 docker real docker 命令)。看起来您想知道为什么在使用 docker exec -it ... bash 进入容器内的命令提示符后,控制台输出没有以良好的格式打印。

    我怀疑您的 PS1 长度在容器内或主机上的计算不正确。阅读它here。容器内的提示符看起来像标准提示符,而您主机上的提示符看起来很花哨,所以我敢打赌,您的 OS X 主机上的 PS1 有问题。

    要查看您的主机是否导致问题,请放入具有最小 PS1 的子 shell,然后运行 ​​Docker 并查看问题是否仍然存在:

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

    如果问题消失,则说明主机上的 PS1 存在问题。按照上面链接中的说明永久修复它,以便正确计算长度。

    【讨论】:

    • 非常感谢您的评论,我尝试了您的代码,但仍然无法以正确的格式显示消息。因为我已经为终端安装了“oh-my-zsh”。是否与“oh-my-zsh”设置有关?或者我可以更改以测试的任何设置?
    • 似乎我重新安装了 docker 然后恢复正常。谢谢。
    • OP 报告的是某些版本的 Docker 上的 TTY 初始化问题(现已在上游修复);与 PS1 的值无关。我们已经在 SO(标记为彼此重复)上对此有几个预先存在的问题。
    猜你喜欢
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多