You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current version of docker-api (1.29) is not compatible with e.g. the current docker.io (1.10.3) package in Ubuntu 16.04. The result of e.g. a Docker.info call is
400 Bad Request: malformed Host header
From rexray/rexray#317 and NVIDIA/nvidia-docker#83 you can surmise that the problem is that the docker in the package is built using Go 1.6.1 and there have been backwards incompatible changes to the Go http package.
Specifically, they are now checking the validity of the the Host header (related issue: golang/go#13624, from there you can follow to the commit that made the change). The problem is that docker-api sends /var/run/docker.sock as the Host header. This is not valid according to rfc 7230. This excon issue makes the case that the Host header should be empty.
Note that it seems that until now the Host field was effectively ignored by Go, so this change should be completely backwards compatible and especially should not affect compatibility with older versions.
BTW. docker-engine 1.10.3 in the Docker repos is built using Go 1.5.3 and works fine with 1.29
The text was updated successfully, but these errors were encountered:
Confusion
changed the title
Ubuntu 16.04 docker.io 10.1.3 not supported?
Docker built with Go 1.6 not supported
Jul 8, 2016
I'm a bit surprised Google didn't turn up the README or referenced earlier issue as hits. Lesson learned: re-read READMEs when running into an issue you are pretty sure must have been encountered by many before you :).
Uh oh!
There was an error while loading. Please reload this page.
The current version of
docker-api
(1.29) is not compatible with e.g. the currentdocker.io
(1.10.3) package in Ubuntu 16.04. The result of e.g. aDocker.info
call isFrom rexray/rexray#317 and NVIDIA/nvidia-docker#83 you can surmise that the problem is that the docker in the package is built using Go 1.6.1 and there have been backwards incompatible changes to the Go http package.
Specifically, they are now checking the validity of the the Host header (related issue: golang/go#13624, from there you can follow to the commit that made the change). The problem is that docker-api sends
/var/run/docker.sock
as the Host header. This is not valid according to rfc 7230. This excon issue makes the case that the Host header should be empty.Note that it seems that until now the Host field was effectively ignored by Go, so this change should be completely backwards compatible and especially should not affect compatibility with older versions.
BTW. docker-engine 1.10.3 in the Docker repos is built using Go 1.5.3 and works fine with 1.29
The text was updated successfully, but these errors were encountered: