在了解 Windows 版 Docker 之前,讀者首先要知道這是由 Docker 公司提供的一個產品。這意味著它易于下載,并且有一個很靈活的安裝器(installer)。
Windows 版 Docker 需要運行在一個安裝了 64 位 Windows 10 操作系統的計算機上,通過啟動一個獨立的引擎來提供 Docker 環境。
其次,讀者需要知曉 Windows 版 Docker 是一個社區版本(Community Edition,CE)的應用,并不是為生產環境設計的。
最后,讀者還需要知道 Windows 版 Docker 在某些版本特性上可能是延后支持的。這是因為 Docker 公司對該產品的定位是穩定性第一,新特性其次。
以上 3 點被添加到 Windows 版 Docker 這個安裝快捷簡單,但并不支持生產環境部署的產品當中。
接下來我們一起了解一下如何安裝 Windows 版 Docker。
在安裝之前,Windows 版 Docker 的環境有以下要求。
Windows 10 Pro(專業版) / Enterprise(企業版) / Education(教育版)(1607 Anniversary Update、Build 14393 或者更新的版本)。
Windows 必須是 64 位的版本。
需要啟用 Windows 操作系統中的 Hyper-V 和容器特性。
接下來的步驟會假設讀者的計算機已經開啟了 BIOS 設置中的硬件虛擬化支持。如果沒有開啟,讀者需要在機器上執行下面的步驟。
首先,讀者需要確認在 Windows 10 操作系統中,Hyper-V 和容器特性已安裝并且開啟。
⒈ 右鍵單擊 Windows 開始按鈕并選擇“應用和功能”頁面。
⒉ 單擊“程序和功能”鏈接。
⒊ 單擊“啟用或關閉Windows功能”。
⒋ 確認Hyper-V和容器復選框已經被勾選,并單擊確定按鈕。
按上述步驟操作完成后,會安裝并開啟 Hyper-V 和容器特性,如下圖所示。這時需要重啟操作系統。
其中,容器特性只有在 summer 2016 Windows 10 Anniversary Update(build 14393)版本或更高版本上才能開啟。
當讀者完成 Hyper-V 和容器特性的安裝并重啟機器之后,就可以安裝 Windows 版 Docker 了。
⒈ 訪問 Docker 的下載(https://www.docker.com/products/docker-desktop)頁面,并單擊其中的 Download for Windows 按鈕。
⒉ 單擊后會跳轉到 Docker 商店,需要讀者使用自己的 Docker ID 進行登錄。
⒊ 單擊任意 Get Docker 下載鏈接。Docker for Windows 分為穩定版(Stable)和搶鮮版(Edge)。搶鮮版當中包含一些新特性,但是可能不夠穩定。單擊下載鏈接后,會將名為 Docker for Windows Installer.exe 的安裝包下載到默認下載目錄。
⒋ 找到上一步下載的安裝包并運行即可。
以管理員身份運行安裝向導,并按照提示一步一步完成整個安裝過程。安裝完成后 Docker 會作為系統服務自動啟動,并且在 Windows 的通知欄看到 Docker 的大鯨魚圖標。
恭喜!到目前為止已經成功完成 Windows 版 Docker 的安裝。
打開命令行或者 PowerShell 界面,并嘗試執docker version命令。
Client:
Version: 18.01.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: 03596f5
Built: Wed Jan 10 20:05:55 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.01.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: 03596f5
Built: Wed Jan 10 20:13:12 2018
OS/Arch: linux/amd64
Experimental: false
注意觀察命令輸出內容,其中 Server 部分中的 OS/Arch 屬性展示了當前的操作系統是 linux/amd64。
這是因為在默認安裝方式中,Docker daemon 是運行在 Hyper-V 虛擬機中的一個輕量級 Linux 上的。這種情況下,讀者只能在 Windows 版 Docker 上運行 Linux 容器。
如果讀者想要運行原生 Windows 容器(Native Windows Container),可以右擊 Windows 通知欄中的 Docker 鯨魚圖標,并選擇“切換到 Windows 容器”。
使用下面的命令也可以完成切換(進入 \Program Files\Docker\Docker 目錄下執行)。
C:\Program Files\Docker\Docker> .\dockercli -SwitchDaemon
如果沒有開啟 Windows 容器特性,則會看到下圖的提示。
如果已經開啟了 Windows 容器特性,則只需要花費數秒就能完成切換。一旦切換完成,在命令行中執行docker version指令的輸出內容如下。
C:\> docker version
Client:
Server:
Engine:
Version: 18.01.0-ce
API version: 1.35 (minimum version 1.24)
Go version: go1.9.2
Git commit: 03596f5
Built: Wed Jan 10 20:20:36 2018
OS/Arch: windows/amd64
Experimental: true
可以看到,現在 Server 版本信息變成了 windows/amd64。這意味著 Docker daemon 運行在原生 Windows 內核上,并且只能運行 Windows 容器了。
同時也可以發現,Experimental 這個屬性的值為 true。這表示當前運行的 Docker 版本是實驗版本。
前面提到過,Docker for Windows有兩個版本:穩定版和搶鮮版。 Windows 容器是搶鮮版中的一個實驗特性。
讀者可以通過運行dockercli -Version命令來查看當前的 Docker 版本。
dockercli 命令在 C:\Program Files\Docker\Docker 目錄下。
C:\Program Files\Docker\Docker> .\dockercli -Version
Docker for Windows
Version: 18.01.0-ce-win48 (15285)
Channel: edge
Sha1: ee2282129dec07b8c67890bd26865c8eccdea88e
OS Name: Windows 10 Pro
Windows Edition: Professional
Windows Build Number: 16299
下面展示了一些常用的能夠正常執行的 Docker 命令。
> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
> docker system info
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 6
Server Version: 17.12.0-ce
Storage Driver: windowsfilter
Windows 版 Docker 包括 Docker 引擎(客戶端和 daemon)、Docker Compose、Docker Machine 以及 Docker Notary 命令行。
通過下列命令確認各個模塊已經成功安裝。
C:\> docker --version
Docker version 18.01.0-ce, build 03596f5
C:\> docker-compose --version
docker-compose version 1.18.0, build 8dd22a96
C:\> docker-machine --version
docker-machine.exe version 0.13.0, build 9ba6da9
C:\> notary version
notary
Version: 0.4.3
Git commit: 9211198