2017-02-21 162 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 ...