Friday, January 2, 2015

boot2docker Work-around for API Limit Error

update Jan 3rd, 2015: see bottom of this post for follow-up tweets from docker project 

i recently got a new laptop and had to reinstall some software. i kept having trouble with boot2docker. after running boot2docker up followed by docker version i kept getting an error about an API versions mismatch between the docker client and server. sure enough boot2docker ssh confirmed that i had an old server despite using the new boot2docker 1.4.1 download package. the standard boot2docker update procedure did not work with some cryptic command about an API rate limit being reached: FATA[0000] Error response from daemon: client and server don't have same version (client : 1.16, server: 1.15)

it turns out that boot2docker relies on github URLs to determine the latest version and too many unauthenticated users were invoking github from my NAT'd originating IP. boot2docker issue 481 is currently tracking this.
thankfully there is an easy work-around already available that works with the latest 1.4.1 release of docker shown below.
now my local docker workflow is all happy again.

update Jan 3rd, 2015: the docker team followed up yesterday explaining that the docker machine project was the preferred going forward approach and that boot2docker would be sunset. i was able to get it working, but the distributed machine binary requires a custom build of docker from a personal repository, which is certainly not ideal if you're concerned about security. they explained that was the path forward until new identity auth work was merged into docker with .