我们工作中使用Docker都是部署在linux服务器上面的,但是我们个人电脑一般使用的是Windows,那么docker能够部署在Windows上面吗?
1,首先来了解一下什么是Docker(参考文档1):
Docker 是起源于 Linux 上的技术,是基于 Linux 内置的 Namespace 和 CGroup 等系统内隔离机制而抽象出来的一种轻虚拟化技术。
微软与 Docker 在 2014 年宣布了合作,以期将容器技术带到 Windows Server 操作系统,并为传统的 Windows 应用程序的容器化改造提供更直接的支持。
与 Linux 类似,Windows 也新新抽象出来了 CGroup 和 Namespace 的概念,并提供出一个新的抽象层次 Compute Service,即宿主机运算服务(Host Compute Service,hcs)。相较于底层可能经常重构的实现细节,hcs 旨在为外部(比如 Docker 引擎)提供较稳定的操作接口。
Docker 可以以两种形式运行在 Windows 上:以 Hyper-V 虚拟机的形式运行 Linux 格式的容器,或者运行原生的 Windows 容器。其中前者运行 Linux 格式的应用程序,后者能运行 Windows 应用程序。
2,如何在Windows上面安装docker(参考文档2)?
如果安装了win10,可以采用安装包直接安装,现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V。
3,然后来了解一下什么是Hyper-V(参考文档3):
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。Hyper-V 让你可以在 Windows 上以虚拟机形式运行多个操作系统。
官方文档提示:HYPER-V 在 64 位版本的 Windows 10 专业版、 企业版和教育版上可用。 不适用于家庭版。
4,Windows 10家庭版 能够安装HYPER-V 吗(参考文档4)?
默认情况下win10家庭版是没有hyper-V的:
将如下新建文件到Hyper-V.cmd文件中 使用管理员右键执行,完成hyper-V安装,是可以使用hyper-V的,。
pushd "%~dp0"
dir /b %SystemRoot%servicingPackages*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%servicingPackages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
完成安装后
5,下载安装文件【Docker for Windows Installer.exe】(参考文档5):
下载docker需要先注册用户。
6,点击安装文件,在系统检查项会报错误,系统版本不对:
Docker for Windows requires Windows 10 Pro or Enterprise version 14393, or Windows server 2016 RTM
此时可以通过修改注册表,修改前后状态,如下图:
7,重新启动安装文件,完成安装,重启电脑后,托盘上出现docker图标:
-------------------------------------------------------------------------------------------------------------------
参考文档:
1,在 Windows 上可以用 Docker 吗?
2,Windows Docker 安装
3,Windows 10 上的 Hyper-V 简介
4,Win10家庭版如何添加Hyper-V虚拟机?Win10家庭版添加Hyper-V虚拟机方法
5,Docker官网地址