> 提示:Docker 已經在windows7.1和windows 8上通過測試,當然它也可以在低版本的windows上使用。但是你的處理器必須支持硬件虛擬化。
Docker 引擎使用的是Linux內核特性,所以我們需要在 Windows 上使用一個輕量級的虛擬機 (VM) 來運行 Docker。我們使用 Windows的Docker客戶端來控制 Docker 虛擬化引擎的構建、運行和管理 。
為了簡化這個過程,我們設計了一個叫?[Boot2Docker](https://github.com/boot2docker/boot2docker)?的應用程序,你可以通過它來安裝虛擬機和運行 Docker。
雖然你使用的是 Windows 的 Docker 客戶端,但是 docker 引擎容器依然是運行在 Linux 宿主主機上(現在是通過Virtual box)。直到我們開發了 windows 版本的 Docker 引擎,你只需要在你的 Windows 主機上啟動一個 Linux 容器。
## 安裝
1. 下載最新版本的[Docker for Windows Installer](https://github.com/boot2docker/windows-installer/releases/latest)
2. 運行安裝文件,它將會安裝virtualbox、MSYS-git boot2docker Linux鏡像和Boot2Docker的管理工具。

3. 從桌面上或者Program Files中找到Boot2Docker for Windows,運行?`Boot2Docker Start`?腳本。這個腳本會要求你輸入 ssh 密鑰密碼 - 可以簡單點(但是起碼看起來比較安全),然后只需要按[Enter]按鈕即可。
4. `Boot2Docker Start`?將啟動一個 Unix shell 來配置和管理運行在虛擬主機中的 Docker,運行?`docker version`?來查看它是否正常工作。

### 運行 Docker
> 注意:如果你使用的是一個遠程的 Docker 進程,像?`Boot2docker`?,你就不需要像前邊的文檔實例中那樣在輸入 Docker 命令之前輸入?`sudo`。
**Boot2docker start**?將會自動啟動一個 shell 命令框并配置好環境變量,以便您可以馬上使用 Docker :
讓我們嘗試運行?`hello-world`?例子。 運行:
~~~
$ docker run hello-world
~~~
這將會下載一個非常小的?`hello-world`?鏡像,并且打印出?`Hello from Docker.`?信息。
### 使用 Windows 的命令行(cmd.exe) 來管理運行 Docker
啟動一個 Windows 命令行(cmd.exe).
運行 Boot2docker 命令,這需要你的 Windows PATH環境變量中包含了?`ssh.exe`。因此我們需要將安裝的 Git 的 bin 目錄 (其中包含了 ssh.exe) 配置到我們的?`%PATH%`?環境變量中,運行如下命令:
~~~
set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"
~~~
現在,我們可以運行?`boot2docker start`?命令來啟動 Boot2docker 虛擬機。(如果有虛擬主機不存在的錯誤提示,你需要運行?`boot2docker init`?命令)。復制上邊的指令到 cmd.exe 來設置你的 windows 控制臺的環境變量,然后你就可以運行 docker 命令了,譬如?`docker ps`?:
[](https://github.com/widuu/chinese_docker/blob/master/images/windows-boot2docker-cmd.png)
### [](https://github.com/widuu/chinese_docker/blob/master/installation/windows.md#powershell-中使用-docker)PowerShell 中使用 Docker
啟動 PowerShell,你需要將?`ssh.exe`?添加到你的 PATH 中。
~~~
$Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin"
~~~
之后,運行?`boot2docker start`?命令行,它會打印出 PowerShell 命令,這些命令是用來設置環境變量來連接運行在虛擬機中 Docker 的。運行這些命令,然后你就可以運行 docker 命令了,譬如?`docker ps`?:

> 提示:你可以使用?`boot2docker shellinit | Invoke-Expression`?來設置你的環境變量來代替復制粘貼 Powershell 命令。
## 進一步的細節
Boot2Docker 管理工具提供了如下幾個命令:
~~~
$ boot2docker
Usage: boot2docker.exe [<options>] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} [<args>]
~~~
### 升級
* 下載最新的?[Docker for Windows Installer](https://github.com/boot2docker/windows-installer/releases/tag/v1.5.0)
* 運行安裝程序,這將升級 Boot2Docker 管理工具
* 打開終端輸入如下的命令來升級你現有的虛擬機:
$ boot2docker stop $ boot2docker download $ boot2docker start
### 容器端口重定向
boot2Docker的默認用戶是?`docker`?密碼是?`tcuser`。
最新版本的 boot2docker 可以設置網絡適配器來給容器提供端口訪問。
如你運行一個暴露內部端口的容器
~~~
docker run --rm -i -t -p 80:80 nginx
~~~
當你需要使用一個IP地址來訪問 Nginx 服務器,你可以使用如下命令來查看 ip。
~~~
$ boot2docker ip
~~~
通常情況下,是192.168.59.103,但是它可以通過 virtualbox 的 dhcp 來改變。
更多細節信息,請查看[Boot2Docker site](http://boot2docker.io/)
### 使用PUTTY登陸來代替CMD命令行
Boot2Docker使用?`%HOMEPATH%\.ssh`?目錄來生成你的共有和私有密鑰。同樣登陸的時候你也需要使用這個目錄下的私有密鑰。
這個私有密鑰需要轉換成 PuTTY 所需要的格式。
你可以使用?[puttygen](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)來生成,具體操作如下:
1. 打開?`puttygen.exe`?找到("File"->"Load")按鈕來加載 %HOMEPATH%.ssh\id_boot2docker 私有密鑰文件。
2. 點擊`"Save Private Key"`按鈕。
3. 在PUTTY中使用剛才保存的文件來登陸 docker@127.0.0.1:2022
## 參考
如果你已經運行 Docker 主機或者你不希望使用?`Boot2docker`?安裝,你可以安裝 docker.exe 使用非官方的包管理器 Chocolately。了解更多新,請查看?[Docker package on Chocolatey](https://chocolatey.org/packages/docker)。
- 關于Docker
- 鏡像簡介
- 安裝篇
- Mac OS X
- Ubuntu
- Red Hat Enterprise Linux
- CentOS
- Debain
- Gentoo
- Google Cloud Platform
- Rackspace Cloud
- Amazon EC2
- IBM Softlayer
- Arch Linux
- FrugalWare
- Fedora
- openSUSE
- CRUX Linux
- Microsoft Windows
- Binaries
- 用戶指南
- 使用Docker Hub
- 在Docker中運行應用
- 使用容器
- 使用docker鏡像
- 連接容器
- 管理容器數據
- 使用Docker Hub
- Docker Hub
- 賬戶
- 存儲庫
- 自動構建
- 官方案例
- Docker中運行MongoDB
- Docker中運行Redis服務
- Docker中運行PostgreSQL
- Docker中運行Riak服務
- Docker中運行SSH進程服務
- Docker中運行CouchDB服務
- Docker中運行Apt-Cacher-ng服務