github.com/jandre/docker@v1.7.0/docs/installation/binaries.md (about) 1 <!--[metadata]> 2 +++ 3 title = "Installation from binaries" 4 description = "Instructions for installing Docker as a binary. Mostly meant for hackers who want to try out Docker on a variety of environments." 5 keywords = ["binaries, installation, docker, documentation, linux"] 6 [menu.main] 7 parent = "smn_engine" 8 weight = 110 9 +++ 10 <![end-metadata]--> 11 12 # Binaries 13 14 **This instruction set is meant for hackers who want to try out Docker 15 on a variety of environments.** 16 17 Before following these directions, you should really check if a packaged 18 version of Docker is already available for your distribution. We have 19 packages for many distributions, and more keep showing up all the time! 20 21 ## Check runtime dependencies 22 23 To run properly, docker needs the following software to be installed at 24 runtime: 25 26 - iptables version 1.4 or later 27 - Git version 1.7 or later 28 - procps (or similar provider of a "ps" executable) 29 - XZ Utils 4.9 or later 30 - a [properly mounted]( 31 https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount) 32 cgroupfs hierarchy (having a single, all-encompassing "cgroup" mount 33 point [is](https://github.com/docker/docker/issues/2683) 34 [not](https://github.com/docker/docker/issues/3485) 35 [sufficient](https://github.com/docker/docker/issues/4568)) 36 37 ## Check kernel dependencies 38 39 Docker in daemon mode has specific kernel requirements. For details, 40 check your distribution in [*Installation*](../#installation-list). 41 42 A 3.10 Linux kernel is the minimum requirement for Docker. 43 Kernels older than 3.10 lack some of the features required to run Docker 44 containers. These older versions are known to have bugs which cause data loss 45 and frequently panic under certain conditions. 46 47 The latest minor version (3.x.y) of the 3.10 (or a newer maintained version) 48 Linux kernel is recommended. Keeping the kernel up to date with the latest 49 minor version will ensure critical kernel bugs get fixed. 50 51 > **Warning**: 52 > Installing custom kernels and kernel packages is probably not 53 > supported by your Linux distribution's vendor. Please make sure to 54 > ask your vendor about Docker support first before attempting to 55 > install custom kernels on your distribution. 56 57 > **Warning**: 58 > Installing a newer kernel might not be enough for some distributions 59 > which provide packages which are too old or incompatible with 60 > newer kernels. 61 62 Note that Docker also has a client mode, which can run on virtually any 63 Linux kernel (it even builds on OS X!). 64 65 ## Enable AppArmor and SELinux when possible 66 67 Please use AppArmor or SELinux if your Linux distribution supports 68 either of the two. This helps improve security and blocks certain 69 types of exploits. Your distribution's documentation should provide 70 detailed steps on how to enable the recommended security mechanism. 71 72 Some Linux distributions enable AppArmor or SELinux by default and 73 they run a kernel which doesn't meet the minimum requirements (3.10 74 or newer). Updating the kernel to 3.10 or newer on such a system 75 might not be enough to start Docker and run containers. 76 Incompatibilities between the version of AppArmor/SELinux user 77 space utilities provided by the system and the kernel could prevent 78 Docker from running, from starting containers or, cause containers to 79 exhibit unexpected behaviour. 80 81 > **Warning**: 82 > If either of the security mechanisms is enabled, it should not be 83 > disabled to make Docker or its containers run. This will reduce 84 > security in that environment, lose support from the distribution's 85 > vendor for the system, and might break regulations and security 86 > policies in heavily regulated environments. 87 88 ## Get the Docker binary 89 90 You can download either the latest release binary or a specific version. 91 After downloading a binary file, you must set the file's execute bit to run it. 92 93 To set the file's execute bit on Linux and OS X: 94 95 $ chmod +x docker 96 97 To get the list of stable release version numbers from Github, view the 98 `docker/docker` [releases page](https://github.com/docker/docker/releases). 99 100 > **Note** 101 > 102 > 1) You can get the MD5 and SHA256 hashes by appending .md5 and .sha256 to the URLs respectively 103 > 104 > 2) You can get the compressed binaries by appending .tgz to the URLs 105 106 ### Get the Linux binary 107 108 To download the latest version for Linux, use the 109 following URLs: 110 111 https://get.docker.com/builds/Linux/i386/docker-latest 112 113 https://get.docker.com/builds/Linux/x86_64/docker-latest 114 115 To download a specific version for Linux, use the 116 following URL patterns: 117 118 https://get.docker.com/builds/Linux/i386/docker-<version> 119 120 https://get.docker.com/builds/Linux/x86_64/docker-<version> 121 122 For example: 123 124 https://get.docker.com/builds/Linux/i386/docker-1.6.0 125 126 https://get.docker.com/builds/Linux/x86_64/docker-1.6.0 127 128 129 ### Get the Mac OS X binary 130 131 The Mac OS X binary is only a client. You cannot use it to run the `docker` 132 daemon. To download the latest version for Mac OS X, use the following URLs: 133 134 https://get.docker.com/builds/Darwin/i386/docker-latest 135 136 https://get.docker.com/builds/Darwin/x86_64/docker-latest 137 138 To download a specific version for Mac OS X, use the 139 following URL patterns: 140 141 https://get.docker.com/builds/Darwin/i386/docker-<version> 142 143 https://get.docker.com/builds/Darwin/x86_64/docker-<version> 144 145 For example: 146 147 https://get.docker.com/builds/Darwin/i386/docker-1.6.0 148 149 https://get.docker.com/builds/Darwin/x86_64/docker-1.6.0 150 151 ### Get the Windows binary 152 153 You can only download the Windows client binary for version `1.6.0` onwards. 154 Moreover, the binary is only a client, you cannot use it to run the `docker` daemon. 155 To download the latest version for Windows, use the following URLs: 156 157 https://get.docker.com/builds/Windows/i386/docker-latest.exe 158 159 https://get.docker.com/builds/Windows/x86_64/docker-latest.exe 160 161 To download a specific version for Windows, use the following URL pattern: 162 163 https://get.docker.com/builds/Windows/i386/docker-<version>.exe 164 165 https://get.docker.com/builds/Windows/x86_64/docker-<version>.exe 166 167 For example: 168 169 https://get.docker.com/builds/Windows/i386/docker-1.6.0.exe 170 171 https://get.docker.com/builds/Windows/x86_64/docker-1.6.0.exe 172 173 174 ## Run the Docker daemon 175 176 # start the docker in daemon mode from the directory you unpacked 177 $ sudo ./docker -d & 178 179 ## Giving non-root access 180 181 The `docker` daemon always runs as the root user, and the `docker` 182 daemon binds to a Unix socket instead of a TCP port. By default that 183 Unix socket is owned by the user *root*, and so, by default, you can 184 access it with `sudo`. 185 186 If you (or your Docker installer) create a Unix group called *docker* 187 and add users to it, then the `docker` daemon will make the ownership of 188 the Unix socket read/writable by the *docker* group when the daemon 189 starts. The `docker` daemon must always run as the root user, but if you 190 run the `docker` client as a user in the *docker* group then you don't 191 need to add `sudo` to all the client commands. 192 193 > **Warning**: 194 > The *docker* group (or the group specified with `-G`) is root-equivalent; 195 > see [*Docker Daemon Attack Surface*]( 196 > /articles/security/#docker-daemon-attack-surface) details. 197 198 ## Upgrades 199 200 To upgrade your manual installation of Docker, first kill the docker 201 daemon: 202 203 $ killall docker 204 205 Then follow the regular installation steps. 206 207 ## Run your first container! 208 209 # check your docker version 210 $ sudo ./docker version 211 212 # run a container and open an interactive shell in the container 213 $ sudo ./docker run -i -t ubuntu /bin/bash 214 215 Continue with the [User Guide](/userguide/).