Let me cut right to the point: The Docker RPM provided by CentOS 'Extras' repository is old. How old? Version 0.11.1 old. While the code was only tagged 0.11.1
on May 7 2014, there have been 8 releases since then.
After seeing that a friend of mine had worked up a rough go at a FPM recipe for a current version of Docker, I said "we can do this better."
Sidebar: I love FPM but…
I do. I really do. It's a super handy way to take something, anything, and shove it into a distributable native package. But I'm captain of the local Pedant Squad and FPM is as easy to abuse as it is to use. So… one thing led to another, Bob's your uncle, and oh hey, I packaged up Docker 1.2.0 as a nice, tidy RPM with a nice, tidy SRPM, and a corresponding nice, tidy Spec file.
Wait… what's wrong with the Docker RPM in EPEL?
Simply put, it's old. Docker 0.11.1 is lacking a lot of features that you'd expect Docker to have -- like DockerHub. And the spec file builds Docker from source, which is exactly what every upstream or EPEL RPM does (and that's generally OK).
But Docker is a little bit different because it's written in Go, and typically distributed as a single static monolithic executable (one of the real strengths of Go binaries, I think). And because Go has all sorts of weird and wild dependency resolution quirks, there's a real chance that the resultant binary you're getting can be markedly different than the binary that the upstream authors intended. Also, 'latest' is probably the version of Docker that you're going to want to use because if you're using Docker then you probably like to live a little dangerously.
One More Thing
But! We don't just shit unsigned packages into the void like wild animals. No! We create repositories! We make Yum repo configurations! We create new GPG keys!
So, I give you Orange Fort Packages for EL7. Installing the release package gets you the repo and the GPG key, but you can just import the key into rpm
's GPG keyring if you're so inclined:
rpm --import https://secure.orangefort.com/packages/RPM-GPG-KEY-orangefort
Are you tracking this work anywhere?
Sure am! Here's a GitHub repo for the Docker RPM work (note that it does not include the docker
binary itself). All of my work is under the Apache License, version 2.0 and I encourage you to review & reuse it any way you see fit.