Windows上的Linux容器预览

微软正在为Windows Server的下一个重大更新做准备,其中的一些新特性对于Docker用户来说是非常令人兴奋的。其中最重要的增强之处是,Docker现在可以使用Hyper-V技术在Windows上运行Linux容器。

在Windows上运行Docker Linux容器需要一个最小的Linux内核和用户空间来承载容器进程。这正是LinuxKit工具包的设计目标:创建可以提供Linux容器功能的安全,精简和可移植的Linux子系统,作为容器平台的组件。

我们一直致力于在Windows上为Docker Linux容器提供LinuxKit支持,并有一个工作预览版本供您尝试。这仍然是一个正在进行的工作,试用预览版需要最近发布的“Windows Server Insider”或者Windows 10 Insider版本。

使用LinuxKit在Windows上运行Docker Linux容器

以下指引已经在Windows 10和Windows Server Insider版本16278和16281上进行了测试,确保可以使用。

请确保在开始之前安装Docker for Windows(Windows 10)或Docker Enterprise Edition(Windows Server Insider)。

设置Docker和LinuxKit

通过在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
pand-Archive linuxkit.zip -DestinationPath "$Env:ProgramFiles\Linux Containers\."
rm linuxkit.zip

现在获取包含对Windows上的Linux容器预览支持的Docker守护进程的主版本:

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刚刚推出了一个运行LinuxKit实例的最小的虚拟机,其上运行着一个Linux容器。

由于这是一个早期预览版本,所以存在一些限制,但是基本的Docker操作如果pull,run是可以进行的。

展望未来

Windows Server Insider版本和Windows上的Linux容器的Docker支持处于早期预览模式。在GA中,Windows上的Docker Linux容器将改善Windows开发人员和服务器管理员的Docker Linux容器体验。开发人员可以通过在同一个系统上并行运行两个平台的容器来更轻松地构建和测试混合的Windows / Linux Docker应用程序。

而喜欢Windows的IT管理员很快就能够通过Windows上的Docker Linux容器轻松运行(大部分)Linux系统软件,例如HAProxy和Redis。例如,Windows上的Docker Linux容器将使安装Windows Server上的Docker Enterprise Edition和Universal Control Plane(依赖于某些仅限于Linux的组件)更为简单。

我们希望这个基于LinuxKit的早起预览版本能够让你开始尝试。反馈总是受到欢迎的!有关一般帮助和入门内部版本的反馈,请使用Windows反馈中心(Windows 10)或Windows Server Insiders技术社区。对于Windows上LinuxKit和Docker支持Linux容器的问题,请在GitHub的Docker for Windows下留言。如果你建立了一些很酷的玩意,欢迎在Twitter上@我们

更多资源

下载Docker for Windows 10

https://store.docker.com/editions/community/docker-ce-desktop-windows

和Docker for Windows Serve

https://store.docker.com/editions/enterprise/docker-ee-server-windows

了解有关Docker企业版的更多信息--http://www.docker.com/enterprise

访问Linux 容器在Windows和LiunxKit上运行的首页 @DockerCon --https://europe-2017.dockercon.com/

本文的版权归 Sepmer Fi 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏潘嘉兴的专栏

手把手教你如何优化linux服务器

服务器的优化是我们最小化安装系统后应该做的事情,下面是一些常见的基本的优化服务器的方法。关闭不需要的服务。列出需要启动的的服务crond、network、ssh...

68400
来自专栏梁康的专栏

深入理解 Linux 的 RCU 机制

本文将通过一个例子,利用 rculist.h 提供的接口对链表进行增删查改的操作,来讲述 RCU 的原理,以及介绍 Linux kernel 中相关的 API(...

1.8K10
来自专栏Linuxer的专栏

吴锦华 / 明鑫 : 用户态文件系统 ( FUSE ) 框架分析和实战

用户态文件系统(filesystem in userspace, 简称 FUSE),它能使用户在无需编辑和编译内核代码的情况下,创建用户自定义的文件系统。

1.6K10
来自专栏张戈的专栏

【ES私房菜】收集 Linux 系统日志

ES环境已经就绪,我们需要先调通一类简单日志作为数据上报全链路的试运行。恰好Linux系统日志就是这样一个角色,随处可见,风险可控。这里,我们选择了2种Linu...

1K10
来自专栏莫韵的专栏

linux 根分区的空间去哪里了 ?记一次根分区满的服务故障排查记录

linux 根分区的空间去哪里了 ?记一次根分区满的服务故障排查记录。我的排查思路是先找占用没有占用,找占用的文件句柄。

1.5K00
来自专栏邹立巍的专栏

Linux 的进程间通信:文件和文件锁

我们首先引入文件进行 IPC ,试图先使用文件进行通信引入一个竞争条件的概念,然后使用文件锁解决这个问题,从而先从文件的角度来管中窥豹的看一下后续相关 IPC ...

1.3K00
来自专栏Linuxer的专栏

宋宝华:LEP ( Linux 易用剖析器 ) 是什么,为什么以及怎么办 ( 1 )

LEP是 Linuxer 之 LEP 项目组(Barry Song,Mac Xu,陈松等以及陈莉君老师)正在致力于打造的一个开源项目,本文是 LEP 文档《 L...

51900
来自专栏皮振伟的专栏

linux、pthread、qemu 的一次 pthread create 失败的分析

qemu 因为 pthread create 失败而发生了 crash 。这种类型的问题比较少见,这里记录一下问题的分析过程以及解决思路。

54800
来自专栏郑剑的专栏

linux 内存管理初探

本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。

2.6K90
来自专栏云加头条

Linux Kernel 4.11 发布

4月30日,Linus Torvalds 在内核邮件列表上宣布释出 Linux Kernel 4.11。

24800

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励