github.com/guilhermebr/docker@v1.4.2-0.20150428121140-67da055cebca/docs/sources/installation/windows.md (about) 1 page_title: Installation on Windows 2 page_description: Docker installation on Microsoft Windows 3 page_keywords: Docker, Docker documentation, Windows, requirements, virtualbox, boot2docker 4 5 # Windows 6 > **Note:** 7 > Docker has been tested on Windows 7.1 and 8; it may also run on older versions. 8 > Your processor needs to support hardware virtualization. 9 10 The Docker Engine uses Linux-specific kernel features, so to run it on Windows 11 we need to use a lightweight virtual machine (VM). You use the **Windows Docker 12 Client** to control the virtualized Docker Engine to build, run, and manage 13 Docker containers. 14 15 To make this process easier, we've designed a helper application called 16 [Boot2Docker](https://github.com/boot2docker/boot2docker) creates a Linux virtual 17 machine on Windows to run Docker on a Linux operating system. 18 19 Although you will be using Windows Docker client, the docker engine hosting the 20 containers will still be running on Linux. Until the Docker engine for Windows 21 is developed, you can launch only Linux containers from your Windows machine. 22 23 ![Windows Architecture Diagram](/installation/images/win_docker_host.svg) 24 25 ## Demonstration 26 27 <iframe width="640" height="480" src="//www.youtube.com/embed/TjMU3bDX4vo?rel=0" frameborder="0" allowfullscreen></iframe> 28 29 ## Installation 30 31 1. Download the latest release of the 32 [Docker for Windows Installer](https://github.com/boot2docker/windows-installer/releases/latest). 33 2. Run the installer, which will install Docker Client for Windows, VirtualBox, 34 Git for Windows (MSYS-git), the boot2docker Linux ISO, and the Boot2Docker 35 management tool. 36 ![](/installation/images/windows-installer.png) 37 3. Run the **Boot2Docker Start** shortcut from your Desktop or “Program Files → 38 Boot2Docker for Windows”. 39 The Start script will ask you to enter an ssh key passphrase - the simplest 40 (but least secure) is to just hit [Enter]. 41 42 4. The **Boot2Docker Start** will start a unix shell already configured to manage 43 Docker running inside the virtual machine. Run `docker version` to see 44 if it is working correctly: 45 46 ![](/installation/images/windows-boot2docker-start.png) 47 48 ## Running Docker 49 50 {{ include "no-remote-sudo.md" }} 51 52 **Boot2Docker Start** will automatically start a shell with environment variables 53 correctly set so you can start using Docker right away: 54 55 Let's try the `hello-world` example image. Run 56 57 $ docker run hello-world 58 59 This should download the very small `hello-world` image and print a 60 `Hello from Docker.` message. 61 62 ## Using Docker from Windows Command Line Prompt (cmd.exe) 63 64 Launch a Windows Command Line Prompt (cmd.exe). 65 66 Boot2Docker command requires `ssh.exe` to be in the PATH, therefore we need to 67 include `bin` folder of the Git installation (which has ssh.exe) to the `%PATH%` 68 environment variable by running: 69 70 set PATH=%PATH%;"c:\Program Files (x86)\Git\bin" 71 72 and then we can run the `boot2docker start` command to start the Boot2Docker VM. 73 (Run `boot2docker init` command if you get an error saying machine does not 74 exist.) Then copy the instructions for cmd.exe to set the environment variables 75 to your console window and you are ready to run docker commands such as 76 `docker ps`: 77 78 ![](/installation/images/windows-boot2docker-cmd.png) 79 80 ## Using Docker from PowerShell 81 82 Launch a PowerShell window, then you need to add `ssh.exe` to your PATH: 83 84 $Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin" 85 86 and after running `boot2docker start` command it will print PowerShell commands 87 to set the environment variables to connect Docker running inside VM. Run these 88 commands and you are ready to run docker commands such as `docker ps`: 89 90 ![](/installation/images/windows-boot2docker-powershell.png) 91 92 > NOTE: You can alternatively run `boot2docker shellinit | Invoke-Expression` 93 > command to set the environment variables instead of copying and pasting on 94 > PowerShell. 95 96 # Further Details 97 98 The Boot2Docker management tool provides several commands: 99 100 $ boot2docker 101 Usage: boot2docker.exe [<options>] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} [<args>] 102 103 ## Upgrading 104 105 1. Download the latest release of the [Docker for Windows Installer]( 106 https://github.com/boot2docker/windows-installer/releases/latest) 107 108 2. Run the installer, which will update the Boot2Docker management tool. 109 110 3. To upgrade your existing virtual machine, open a terminal and run: 111 112 boot2docker stop 113 boot2docker download 114 boot2docker start 115 116 ## Container port redirection 117 118 If you are curious, the username for the boot2docker default user is `docker` 119 and the password is `tcuser`. 120 121 The latest version of `boot2docker` sets up a host only network adaptor which 122 provides access to the container's ports. 123 124 If you run a container with an exposed port: 125 126 docker run --rm -i -t -p 80:80 nginx 127 128 Then you should be able to access that nginx server using the IP address reported 129 to you using: 130 131 boot2docker ip 132 133 Typically, it is 192.168.59.103, but it could get changed by Virtualbox's DHCP 134 implementation. 135 136 For further information or to report issues, please see the [Boot2Docker site](http://boot2docker.io) 137 138 ## Login with PUTTY instead of using the CMD 139 140 Boot2Docker generates and uses the public/private key pair in your `%USERPROFILE%\.ssh` 141 directory so to log in you need to use the private key from this same directory. 142 143 The private key needs to be converted into the format PuTTY uses. 144 145 You can do this with 146 [puttygen](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html): 147 148 - Open `puttygen.exe` and load ("File"->"Load" menu) the private key from 149 `%USERPROFILE%\.ssh\id_boot2docker` 150 - then click: "Save Private Key". 151 - Then use the saved file to login with PuTTY using `docker@127.0.0.1:2022`. 152 153 ## References 154 155 If you have Docker hosts running and if you don't wish to do a 156 Boot2Docker installation, you can install the docker.exe using 157 unofficial Windows package manager Chocolately. For information 158 on how to do this, see [Docker package on Chocolatey](http://chocolatey.org/packages/docker).