When Docker 1.3 was released a few weeks ago I was interested in using the process injection docker exec functionality.

Unfortunately, all of the repos which provide RPMs for Docker are out of date, the documentation suggests a manual installation of the binary which is turns out to be straight forward:

Installing Docker 1.3.x on CentOS 7 1/2
# Download the binary & set the permissions
curl -L https://get.docker.com/builds/Linux/x86_64/docker-latest > /usr/bin/docker; chmod +x /usr/bin/docker

# Download the systemd files
curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/init/systemd/docker.service > /usr/lib/systemd/system/docker.service
curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/init/systemd/docker.socket > /usr/lib/systemd/system/docker.socket

# Enable & start the service
systemctl enable docker
systemctl start docker

# Install Fig as well
curl -L https://github.com/docker/fig/releases/download/1.0.0/fig-`uname -s`-`uname -m` > /usr/local/bin/fig; chmod +x /usr/local/bin/fig

now to check it works:

Installing Docker 1.3.x on CentOS 7 2/2
[root@docker ~]# docker -v
Docker version 1.3.1, build 4e9bbfa
[root@docker ~]# systemctl status docker
docker.service  Docker Application Container Engine
 Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
 Active: active (running) since Sat 20141101 10:51:52 EDT; 22h ago
 Docs: http://docs.docker.com
 Main PID: 8737 (docker)
 CGroup: /system.slice/docker.service
 └─8737 /usr/bin/docker -d -H fd://

Nov 01 10:51:52 docker.server.io docker[8737]: [info] Listening for HTTP on fd ()
Nov 01 10:51:53 docker.server.io docker[8737]: [cc69a548] +job init_networkdriver()
Nov 01 10:51:53 docker.server.io docker[8737]: [cc69a548] -job init_networkdriver() = OK (0)
Nov 01 10:51:53 docker.server.io docker[8737]: [info] Loading containers:
Nov 01 10:51:53 docker.server.io docker[8737]: [info] : done.
Nov 01 10:51:53 docker.server.io docker[8737]: [cc69a548] +job acceptconnections()
Nov 01 10:51:53 docker.server.io docker[8737]: [cc69a548] -job acceptconnections() = OK (0)
Nov 01 10:52:03 docker.server.io docker[8737]: [info] GET /v1.15/containers/json
Nov 01 10:52:03 docker.server.io docker[8737]: [cc69a548] +job containers()
Nov 01 10:52:03 docker.server.io docker[8737]: [cc69a548] -job containers() = OK (0)
[root@docker ~]#

This should do until CentOS manage to catch-up with the latest Docker releases, which shouldn’t be too long hopefully.