前言
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 按钮。
- 单击任意 Get Docker 下载链接。Docker for Windows 分为稳定版(Stable)和抢鲜版(Edge)。抢鲜版当中包含一些新特性,但是可能不够稳定。单击下载链接后,会将名为 Docker for Windows Installer.exe 的安装包下载到默认下载目录。
- 找到上一步下载的安装包并运行即可。
- 按照提示一步一步完成整个安装过程。安装完成后 Docker 会作为系统服务自动启动,并且在 Windows 的通知栏看到 Docker 的大鲸鱼图标。
- 恭喜!到目前为止已经成功完成 Windows 版 Docker 的安装。
- 打开命令行或者 PowerShell 界面,并尝试执docker version命令。
PS C:\> docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:23:10 2020
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:29:16 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.13
GitCommit: 7adxxxxxxxxxxx429
runc:
Version: 1.0.0-rc10
GitCommit: dcxxxxxxxxxxxx9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
注意观察命令输出内容,其中 Server 部分中的 OS/Arch 属性展示了当前的操作系统是 linux/amd64。
这是因为在默认安装方式中,Docker daemon 是运行在 Hyper-V 虚拟机中的一个轻量级 Linux 上的。这种情况下,读者只能在 Windows 版 Docker 上运行 Linux 容器。
如果读者想要运行原生 Windows 容器(Native Windows Container),可以右击 Windows 通知栏中的 Docker 鲸鱼图标,并选择“切换到 Windows 容器”。
验证
Windows 版 Docker 包括 Docker 引擎(客户端和 daemon)、Docker Compose、Docker Machine 以及 Docker Notary 命令行。但是我当前的版本
PS C:\> docker --version
Docker version 19.03.8, build afacb8b
没有Docker Machine,这个有待探究。执行以下命令一一检查
PS C:\> docker --version
Docker version 19.03.8, build afacb8b
PS C:\> docker-compose --version
docker-compose version 1.25.4, build 8d51620a
PS C:\> docker-machine --version
docker-machine : 无法将“docker-machine”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写...
PS C:\> notary version
notary
Version: 0.6.1
Git commit: d6e1431f
docker-machine : 无法将“docker-machine”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写...
这个问题就是 没有 Docker Machine
到此该结束了,因为其他教程中Docker Machine有,可以单独安装,因为Windows上的Docker不做部署所以也就不用安装,暂时也不影响使用就跳过