Docker for Mac容器中缺少回车符

时间:2017-06-03 00:55:09

标签: bash macos docker

突然间,我的所有docker/docker-compose exec/run命令都打印了缺少回车的日志,因为缩进而无法读取命令行(见下图)。

我将docker重新安装到出厂设置,但这并没有解决任何问题。

我还应该在哪里解决这类问题?

更新 这是docker-for-mac中的一个活跃问题。

我刚刚更新到17.06.0-rc1-ce-mac13,那是我开始遇到问题的时候。

另外,如果您投票结束,可以发表评论吗?

enter image description here enter image description here

3 个答案:

答案 0 :(得分:8)

要解决Docker中最近的回归问题,请执行:

stty onlcr

这会在每个换行符后添加一个隐式回车符。

CharlessMacBook:~ cduffy$ docker run -t -i bash
bash-4.4#
          bash-4.4#
                    bash-4.4# stty onlcr
                                        bash-4.4#
bash-4.4#
bash-4.4#

答案 1 :(得分:2)

昨天我在升级到最新的docker edge for mac(与Eric'相同的版本)后面临同样的问题。有人有解决方案吗?真的很烦人。

编辑:我运行单位的临时解决方案:

docker-compose -f docker-compose-dev.yml exec php bash -c "stty onlcr && php bin/phpunit"

如果要运行bash提示符以外的命令,可以使用它。

答案 2 :(得分:2)

如上所述,这是Docker for OSX的Edge版本中的一个缺陷:

  

版本17.06.0-rc1-ce-mac13(18169)   频道:边缘

如果您无意中选择了边缘通道,或者不再需要其出血边缘功能,只需切换回稳定通道即可。

转到Docker - >首选项和底部应该说"这是一个边缘版本。你可以切换到稳定"。

  • 单击stable,然后在下一个弹出的对话框中选择确定。
  • https://download.docker.com/mac/stable/Docker.dmg
  • 下载稳定的.dmg文件
  • 退出正在运行的docker
  • 打开dmg文件
  • 选择是否要替换当前边缘泊坞窗或替换它
  • 使用Finder打开Docker - 它将告诉您它将卸载测试版并重新启动应用程序,并提示您将丢失容器和设置。
  • 按继续并重新启动并完成安装

欢迎回到边缘!

您现在回到稳定版的Docker和稳定版本。

准备重建所有容器,然后再次使用它们。

分享并享受!