微软正在为Windows Server的下一个重大更新做准备(查看最近补充的微软博客文章),某些新功能更是让Docker用户为之兴奋的。最重要的改进之一就是,Docker可以通过Hyper-V技术在Windows系统中立即运行Linux容器了。
在Windows上运行Docker,只需要一个很小的Linux内核和用户空间来承载容器进程。这正是LinuxKit工具包的设计初衷——创建安全的、精简的、可移植的Linux子系统。就是让 Linux 容器功能可以相容于所有的非Linux平台。
我们一直致力于在Windows系统上对Docker 所需的LinuxKit工具包进行原型设计,并且已经成功设计出可以供您测试的工作预览版。这仍是一项正在进行中的工作,我们计划在最近公布的“Windows Server Insider”版本或“Windows 10 Insider builds”版本中对其进行测试。
以下操作已经在“Windows 10”和“Windows Server Insider build 16278和16281“版本中进行了测试。
在开始之前,请务必安装Docker for Windows(Windows 10)或者Docker Enterprise Edition(Windows Server Insider)。
只需要在PowerShell中运行以下命令(具有管理员权限),就可以使用由LinuxKit构建的预览体验版了:
$progressPreference = 'silentlyContinue'
mkdir "$Env:ProgramFiles\Linux Containers”
Invoke-WebRequest -UseBasicParsing -OutFile linuxkit.zip https://github.com/friism/linuxkit/releases/download/preview-1/linuxkit.zip
Expand-Archive linuxkit.zip -DestinationPath "$Env:ProgramFiles\Linux Containers\."
rm linuxkit.zip
现在构建一个Docker守护进程的主分支,其中包含Windows系统上的Linux容器的预览支持:
Invoke-WebRequest -UseBasicParsing -OutFile dockerd.exe https://master.dockerproject.org/windows/x86_64/dockerd.exe
在独立的通道上启动一个新的Docker守护进程,并使用默认安装中的一个单独的存储位置:
$Env:LCOW_SUPPORTED=1
.\dockerd.exe -D --experimental -H "npipe:////./pipe//docker_lcow" --data-root c:\lcow
运行一个Linux容器:
docker -H "npipe:////./pipe//docker_lcow" run -ti busybox sh
Docker刚刚启动了一个最小的虚拟机,而这个虚拟机就是一个托管在Linux容器中运行LinuxKit的实例!
注:因为这个演示案例是一个早期的预览体验版,所以具有局限性,但是并不影响Docker进行拉取镜像或者运行容器等基础操作。
“Windows Server Insider builds” 和 “Docker support for Linux containers on Windows”都是早期的预览体验模式。当正式版本发布的时候,Windows开发者和服务器管理员在Windows系统中使用Docker的体验会得到进一步提升。届时,开发人员就能够在同一系统上同时运行两个平台的容器,更轻松地构建、测试混合在Windows / Linux 两个操作系统中的Docker应用程序。
喜欢Windows系统的IT管理员很快就可以通过运行在Windows系统上的Docker,来轻松地运行大部分Linux的独有软件,如HAProxy和Redis。譬如,在Windows系统上的Docker,将使Windows 服务器上的Docker企业版和可视化管理界面(依赖某些Linux独占的组件)的设置步骤变得更加简单。
我们希望通过这个LinuxKit的演示能够让你开始实验,我们欢迎您进行反馈,对于一般帮助和入门内测版本,请使用“Windows反馈中心(Windows 10)”或者“Windows Server Insiders技术社区”。对于Windows上LinuxKit和Docker容器的问题,请在GitHub上提交 Docker for Windows 的问题申请,可以通过Twitter让我们知道,你发现了什么。
下载Docker for Windows 10和Docker for Windows Serve
了解有关Docker企业版的更多信息
加入“在Windows上使用Docker容器和LinuxKit”的交流 @DockerCon