page_title: Installation from Binaries page_description: Instructions for installing Docker as a binary. Mostly meant for hackers who want to try out Docker on a variety of environments. page_keywords: binaries, installation, docker, documentation, linux

Binaries

This instruction set is meant for hackers who want to try out Docker on a variety of environments.

Before following these directions, you should really check if a packaged version of Docker is already available for your distribution. We have packages for many distributions, and more keep showing up all the time!

Check runtime dependencies

To run properly, docker needs the following software to be installed at runtime:

  • iptables version 1.4 or later
  • Git version 1.7 or later
  • procps (or similar provider of a “ps” executable)
  • XZ Utils 4.9 or later
  • a properly mounted cgroupfs hierarchy (having a single, all-encompassing “cgroup” mount point is not sufficient)

Check kernel dependencies

Docker in daemon mode has specific kernel requirements. For details, check your distribution in Installation.

In general, a 3.8 Linux kernel (or higher) is preferred, as some of the prior versions have known issues that are triggered by Docker.

Note that Docker also has a client mode, which can run on virtually any Linux kernel (it even builds on OS X!).

Get the docker binary:

$ wget https://get.docker.io/builds/Linux/x86_64/docker-latest -O docker
$ chmod +x docker

Note: If you have trouble downloading the binary, you can also get the smaller compressed release file: https://get.docker.io/builds/Linux/x86_64/docker-latest.tgz

Run the docker daemon

# start the docker in daemon mode from the directory you unpacked
$ sudo ./docker -d &

Giving non-root access

The docker daemon always runs as the root user, and the docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root, and so, by default, you can access it with sudo.

If you (or your Docker installer) create a Unix group called docker and add users to it, then the docker daemon will make the ownership of the Unix socket read/writable by the docker group when the daemon starts. The docker daemon must always run as the root user, but if you run the docker client as a user in the docker group then you don't need to add sudo to all the client commands.

Warning: The docker group (or the group specified with -G) is root-equivalent; see Docker Daemon Attack Surface details.

Upgrades

To upgrade your manual installation of Docker, first kill the docker daemon:

$ killall docker

Then follow the regular installation steps.

Run your first container!

# check your docker version
$ sudo ./docker version

# run a container and open an interactive shell in the container
$ sudo ./docker run -i -t ubuntu /bin/bash

Continue with the User Guide.