Search code examples
macososx-mavericksdocker

Getting "broken pipe" when building Docker image using boot2docker Mac


I've followed the guide on http://docs.docker.io/en/latest/installation/mac/ which appears to work ok.

I can run docker version and docker ps etc but when I go to run a docker build . it starts uploading and returns with the message: "write tcp 127.0.0.1:4243: broken pipe" leaving me unable to build.


Solution

  • I logged into the VM boot2docker ssh, found the debug log at /var/lib/boot2docker/docker.log and noticed the first helpful messages:

    2014/03/22 22:28:57 POST /v1.10/build?rm=1&t=foo
    [debug] api.go:942 Warning: client and server don't have the same version (client: 0.9.0, server: 0.8.0)
    [error] api.go:959 Error: Multipart upload for build is no longer supported. Please upgrade your docker client.
    [error] api.go:91 HTTP Error: statusCode=500 Multipart upload for build is no longer supported. Please upgrade your docker client.
    

    So my Mac client (host) Docker was v.9 and the daemon was .8. Not wanting to fiddle with the boot2docker image, I downgraded the client version of Docker to .8 by running:

    rm /usr/local/bin/docker
    cd ~/bin/
    curl -o docker https://get.docker.io/builds/Darwin/x86_64/docker-0.8.0
    sudo cp ~/bin/docker /usr/local/bin/
    

    Then my image built ok.