2017-02-21 161 views
0

因为我更喜欢使用bash(并且总是使用git),所以我试着运行docker run -it ubuntu bash(成功后hello-world),这不幸导致了invalid handle错误。改为使用cmd.exe,它工作正常。如何让Docker在msys2 bash中正常工作?

+0

相关:https://github.com/docker/toolbox/issues/231,https://forums.docker.com/t/what-happened-to-winpty-functionality-in -bash-git-bash-on-windows/8774 –

+0

无论是mintty还是winpty都不需要在ConEmu中运行Docker。 – Maximus

+0

@Maximus的确,当我简单地使用msys2的'bash.exe'时,它直接工作(除了使用卷时的路径转换问题)。还有一些其他的问题,比如PS1和UTF-8的混淆,最初让我使用'mintty',但是我再也不会这样了。而且你用ConEmu做的_awesome_工作:) –

回答

0

原来问题是我用ConEmu来主持mintty.exe。直接使用mingw64.exe(或mintty.exe)代替,错误读取为

输入设备不是TTY。如果您正在使用mintty,尝试用前缀“winpty”

命令代替,并提供有用的信息,前缀winpty,然后也是从内ConEmu工作。但请注意,winpty也会混淆您的命令行参数,例如winpty echo yes /no收益率yes C:/yourmsyspath/no ...