Old clients cannot talk to Docker in 16.04
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
containerd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
docker.io (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
runc (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[impact]
The docker.io 1.10.3 packaged in Ubuntu 16.04 was compiled with Go[lang] 1.6.1. Go 1.6.x contains a change to how the HTTP "Host" header is parsed, and using this to compile Docker has the effect of breaking the ability for any older version of the Docker client to talk to the daemon.
It is proposed to fix this by uploading a new version of docker, which has been agreed to as an exception to the usual process by ~tech-board (although possibly this has not been documented anywhere yet). This also means updating the runc and containerd packages.
[test case]
Simply run:
$ docker run -it -v /var/run/
it will fail with a problematic version installed and succeed with a fixed version installed.
We should rebuild runc's reverse build-deps in xenial: golang-
[regression potential]
Obviously there is a risk of regressions here. But it is Ubuntu policy to offer an "upstream experience" with docker and not try to shield our users from that. The docker.io package in yakkety contains an autopkgtest that tests (very!) basic functionality, so we know the packages are not completely broken.
tags: | added: patch |
summary: |
- Docker compiled with wrong version of Go + Old clients cannot talk to Docker in 16.04 |
description: | updated |
Changed in docker.io (Ubuntu Xenial): | |
status: | New → In Progress |
description: | updated |
Changed in containerd (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in containerd (Ubuntu): | |
status: | New → Fix Released |
Oh fun. At the moment we don't even have Go 1.5 in Xenial and I don't really want to add it, although thanks to some re-working in 16.04 we can at least add it cleanly now.