Docker Community Forums

Share and learn in the Docker community.

What happened to winpty functionality in bash/git-bash on Windows?


I’d been using winpty for in git-bash on Windows 7 since Docker 1.8 without issue. I upgraded to 1.10.2 last month, but I don’t think I upgraded git-bash, so that would have stayed at 2.5.x. Everything was still working fine.

To bring everything up to snuff, I did a full upgrade/install of 1.10.3 a few days ago, letting the Toolbox installer upgrade git-bash, Virtual Box & Docker. Now, when I try to launch a container with winpty, I get the following:

$ winpty docker run -it training/sinatra
docker: Error parsing reference: “training\sinatra” is not a valid repository/tag.
See ‘docker run --help’.

This happens running any image qualified with a namespace. This, however, works as expected.

$ winpty docker run -it ubuntu bash

But this on the other hand has issues.

$ winpty docker run -it ubuntu /bin/bash
exec: “C:\Program Files\Git\usr\bin\bash”: executable file not found in $PATH
docker: Error response from daemon: Container command not found or does not exist…

I tried downgrading to get back to a working configuration without luck. For kicks, I spun up a Win7 VM, did a fresh install of Toolbox 1.10.3 and immediately saw that the default is to launch with bash.exe --login -i, not git-bash, putting you in a bash shell inside cmd. While winpty isn’t necessary in this situation, working inside cmd is miserable.

I did an install of 1.8.3 in a clean Win7 VM, made sure that default didn’t auto-upgrade and stayed at version 1.8.3. Now using winpty yielded a different error.

repository name component must match “[a-z0-9]+(?:[._-][a-z0-9]+)*”

Which is referenced here:

In any case, I’ve been pulling my hair out trying to get this to work again. Am I missing something simple here?? Should I go open an issue?