Cannot find Dockerfile on Windows
Running captain on Windows with or without captain.yml file gives the error API error (500): {"message":"Cannot locate specified Dockerfile: Dockerfile"}.
After some digging into the code, I found that the error is in the go-dockerclient library https://github.com/fsouza/go-dockerclient/issues/589. But since that issue has been open since Sep. 2016 with no movement, I'm wondering if there is a way to fix the issue on captain's end.
As a workaround, I found that using the "escape hatch" code for Circle CI by helps bypass the issue.
We need to wait for the fix upstream, but as you said since the 'escape hatch' is working properly maybe we can focus on that:
The CIRCLECI flag is basically a fix that uses the system's docker binary instead of the internal client library. Maybe we can graduate the flag as something on it's own (e.g. CAPTAIN_USE_DOCKER_BINARY)
Then we can set the flag's default value to be true on CircleCI and Windows at least until the issue is fixed.
Seems like a reasonable solution until they fix in the upstream. Thanks.
@spiddy Looks like they fixed the issue upstream https://github.com/fsouza/go-dockerclient/commit/fcb9d66987b5c50ac4e0c7d68181354eb294675f.
I did a Windows build of Captain using the newest version of the library and it fixed this issue.