标签 Windows 下的文章

Windows 用户们,去还是留?

Windows 依然是高居榜首的桌面操作系统,占据 90% 以上的市场份额,远超 macOS 和 Linux 。

从数据来看,尽管 linux 并不是 Windows 的头号接班人,但近几年越来越多用户转向 Ubuntu、Linux Mint 等发行版,的确为 Linux 带来了不小的增长。

面对 Windows 10 发布以来招致的诸多批评,微软后来采取的激进升级策略也明显无济于事。很多用户抱怨在不知情的情况下就被升级到了 Windows 10 ,这也促使部分用户决定放弃微软产品而转向 Linux 。

同时也有声音指责微软试图通过 Windows 10 监视用户,同样,这些批评助推更多用户投入 Linux 阵营。

你怎么选: Windows or Linux?

十几年前,用户转向 Linux 还主要是出于安全考虑,因为 Windows 才是全世界病毒和黑客的主要攻击目标。

这有它的必然原因: Windows 是被最广泛采用的操作系统,但那时微软在安全上的设计并没有今天这样实用。

而近几年,尽管 Linux 和 Windows 在安全方面的差距已没有那么明显,但那些决定转阵营的用户似乎又有了除安全以外的其它理由。

我们不想用什么市场统计来说明问题,因为在这场 Windows 和 Linux 的持久战中,这些数据显得无关紧要。但是用户的声音却至关重要,因为它们总能代表并预示各个平台的走向。

这也是为什么我们在这里向读者提出问题: Linux 是 Windows 合适的替代品么?放弃 Windows 而选择 Linux 是否明智?微软是否该为用户流向 Linux 而感到紧张?请在评论中留下您的看法。


via: http://news.softpedia.com/news/let-s-chat-windows-vs-linux-512842.shtml

作者:Bogdan Popa 译者:Dotcra 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

虽然并非微软官方出品,不过你现在可以在 Windows 10 的 Linux 子系统(WSL)中使用 openSUSE Leap 或 SUSE Linux 企业版(SLES)了。

正如你所知道的,最新的 Windows 10 版本中含有一个完整的、基于 Ubuntu 的 Bash,开发者们可以在 Windows 桌面中直接运行 Linux 软件或命令。这被称为“Bash on Ubuntu on Windows”——一个啰嗦的名字——现在可以从 Windows 的开始菜单直接访问到了。

不过,SUSE 的资深产品经理 Hannes Kühnemund 却表示,以他自己的观点来看,微软在选择 Linux 发行版时选“错”了——明显应该选 openSUSE 嘛。

“在 Windows 上原生地运行 Linux 二进制程序……这听起来真棒!然而,十分不幸是,微软在 WSL 里面选用了一个错误的 Linux(当然,这是我个人的看法),而现在是我们让它回到轨道上的时候了。” Hannes Kühnemund 说到,“为啥选 SUSE?因为 SUSE 从 1992 年开始就在做 Linux 发行版了。想找一个资格更老的 Linux 厂商(也可以叫发行版),对不起,你找不到,根本就木有!”

好吧,不管怎么说,如果你也对此感兴趣的话,他还写了篇文章教给你如何在 Windows 10 的 WSL 中安装 SUSE。

在 Windows 10 中安装 openSUSE Leap 42.2

如果你是 SUSE 粉,而你又想在 Windows 10 中使用你喜爱的 SUSE,但是又厌倦了使用虚拟机或配置双引导,那么就跟着 Kühnemund 先生一起来吧,他会教给你如何在 WSL 中安装最新的 openSUSE Leap 42.2。

首先,你需要按照微软的说明启用 WSL,也可以参考我们之前的介绍。确保在安装过程中创建了一个普通用户(带口令)。

这些步骤也同样适用于 SUSE Linux 企业版(SLES) 12 SP2,不过你需要下载另外一个文件。

运行如下命令下载 openSUSE Leap 42.2 的 docker 用户空间:

wget -O openSUSE-42.2.tar.xz https://github.com/openSUSE/docker-containers-build/blob/openSUSE-42.2/docker/openSUSE-42.2.tar.xz?raw=true

然后从开始菜单中打开 Linux bash shell,并执行如下命令来解压,然后退出 shell:

sudo mkdir rootfs
sudo tar -C rootfs -Jxf openSUSE-42.2.tar.xz
exit

如果在运行这些命令时出现一些警告,可以忽略。

完成之后,备份当前的“Bash on Ubuntu on Window” 安装:

cd %localappdata%\lxss\
rename rootfs rootfs.ubuntu

然后复制新的 openSUSE Leap 42.2 的根文件系统 rootfs:

move .\home\rootfs .\

最后,设置 root 为默认用户:

lxrun /setdefaultuser root

这样,下次你再访问 bash 时,你就用的是运行在 WSL 中的 openSUSE 或 SLES 啦。

当然,你还可以再做的完美些。用这个绿绿的 SUSE 图标替换 “Bash on Ubuntu on Window” 默认的橘红 Ubuntu 图标:

cd %localappdata%\lxss\
rename bash.ico Ubuntu.ico
rename Saki-NuoveXT-Apps-suse.ico bash.ico

在 Windows 10 中运行 SUSE Linux shell

哦,除了图标,启动菜单中的名字 “Bash on Ubuntu on Window” 显然你也想换过来,进到 %AppData%\Microsoft\Windows\Start Menu\Programs,把默认项改成“Bash on SUSE on Windows” 或其它你想要的什么名字。

其它发行版呢?

如果你喜欢其它 Linux 发行版,比如 Arch Linux,那么你可以看看这篇文章

还能支持别的 Linux 发行版吗?你别说,还真有人做出了一个工具,可以在 WSL 中支持大多数的 Linux 发行版,并可以在这些发行版之间切换自如。

这个工具是由 RoliSoft 贡献到 GitHub 上的,名为 WSL-Distribution-Switcher 。其思路类似于上面 openSUSE 的思路,都是采用容器作为 WSL 中的根文件系统。

你可以通过该工具中的 get-prebuilt.pyget-source.py 从 Docker Hub 上下载各个发行版的官方镜像或 tar 包,然后用 install.py 安装即可。最后,你还可以通过 switch.py 在你下载安装的 WSL 中进行切换。具体的操作,请参考其说明

由于它使用的是 Docker Hub 官方镜像,因此,它可以支持大多数 Linux 发行版,比如:

怎么样,你有试过在 Windows 10 中的 WSL 里面运行 Linux 吗?

via:softpediasusegithubmicrosoft

今年初,当 Microsoft 和 Canonical 发布 Windows 10 Bash 和 Ubuntu 用户空间,我尝试做了一些初步性能测试 Ubuntu on Windows 10 对比 原生 Ubuntu,这次我发布更多的,关于原生纯净的 Ubuntu 和基于 Windows 10 的基准对比。

Windows 的 Linux 子系统

Windows 的 Linux 子系统测试完成了所有测试,并随着 Windows 10周年更新放出。 默认的 Ubuntu 用户空间还是 Ubuntu 14.04,但是已经可以升级到 16.04。所以测试首先在 14.04 测试,完成后将系统升级升级到 16.04 版本并重复所有测试。完成所有基于 Windows 的 Ubuntu 子系统测试后,我在同样的系统上干净地安装了 Ubuntu 14.04.5 和 Ubuntu 16.04 LTS 来做性能对比。

Ubuntu

配置为 Intel i5 6600K Skylake,16G 内存和 256G 东芝 ssd,测试过程中每个操作系统都采用其原生默认配置和软件包。

http://openbenchmarking.org/embed.php?i=1608096-LO-BASHWINDO87&sha=09989b3&p=2

这次 Ubuntu/Bash on Windows 和原生 Ubuntu 对比测试,采用开源软件 Phoronix 测试套件,完全自动化并可重复测试。

SQLite 嵌入式数据库基准测试

首先是 SQLite 嵌入式数据库基准测试。这方面开箱即用的 Ubuntu/Bash on Windows 性能是相当的慢,但是如果将环境从 14.04 升级到 16.04 LTS,性能会快很多。然而,对于繁重磁盘操作的任务,原生 Ubuntu Linux 几乎比 Windows 的子系统 Linux 快了近 2 倍。

编译测试:编译

编译测试:初始创建

编译测试作为额外的繁重磁盘操作测试显示,定制的 Windows 子系统真的成倍的限制了 Ubuntu 性能。

接下来,是一些使用 Stream 的基本的系统内存速度测试:

Stream:复制

Stream:缩放

Stream:添加

奇怪的是,这些 Stream 内存的基准测试显示 Ubuntu on Windows 的性能比原生的 Ubuntu 好!这个现象同时发生在基于同样的 Windows 却环境不同的 14.04 和 16.04 LTS 上。

接下来,是一些繁重 CPU 操作测试。

Dolfyn 科学测试

通过 Dolfyn 科学测试,Ubuntu On Windows 和原生 Ubuntu 之间的性能其实是相当接近的。 对于 Ubuntu 16.04,由于较新的 GCC 编译器性能衰减,两个平台上的性能都较慢。

Fhourstones 测试

John The Ripper 测试

透过 Fhourstones 测试和 John The Ripper 测试表明,通过在 Windows 的 Linux 子系统运行的 Ubuntu 的性能可以非常接近裸机 Ubuntu Linux 性能!

x264 测试:H264视频编码

类似于 Stream 测试,x264 结果是另一个奇怪的情况,其中最好的性能实际上是使用 Linux 子系统的 Ubuntu On Windows!

Linux 内核编译时间

PHP 编译时间

计时编译基准测试非常利于裸机 Ubuntu Linux。这是应该是由于大型程序编译需要大量读写磁盘,在先前测试已经发现了,这是基于 Windows 的 Linux 子系统缓慢的一大领域。

Crafty

FLAC 音频编码

OpenSSL

许多其他的通用开源基准测试表明,严格的针对 CPU 的测试,Windows 子系统的 Ubuntu 的性能是很接近的,甚至是与原生安装在实际硬件中的 Ubuntu Linux 相等。

最新的 Windows 的 Linux 子系统,测试结果实际上相当令人印象深刻。让人沮丧的仅仅只是持续缓慢的磁盘/文件系统性能,但是对于受 CPU 限制的工作负载,结果是非常引人注目的。还有很罕见的情况, x264 和 Stream 测试,Ubuntu On Windows 上的性能看起来明显优于运行在实际硬件上 的Ubuntu Linux。

总的来说,体验是十分愉快的,并且在 Ubuntu/Bash on Windows 也没有遇到任何其他的 bug。如果你有还兴趣了解更多关于 Windows 和 Linux 的基准测试,欢迎留言讨论。


via: https://www.phoronix.com/scan.php?page=article&item=windows10-anv-wsl&num=1

作者:Michael Larabel 译者:VicYu/Vic020 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

头条消息

我们昨天报道过,根据 Net Applications 四月份的最新调查数据显示谷歌的 Chrome 浏览器的市场占有率超过了微软的 IE,取得了市场占有率第一的排名。事实上,在这次报告中,同样有另外一个重大变化需要注意到:Windows 系统市场份额首次跌破90%大关,这是几个月以来持续下跌的结果。另外, Linux 的份额也有所下跌,唯一增长的是 Mac OS。

Linux 基金会发布了其免费徽章计划“CII 最佳实践徽章”,该徽章会授予通过了安全性、稳定性和高品质评估的开源项目,目前已经授予的包括:Linux 内核、OpenSSL、Node.js、GitLab、cURL、Zephyr 和 OpenBlox。

正在召开的 Ubuntu 在线峰会中,开发者们决定在不将 Unity 8 作为 Ubuntu 16.10 的默认桌面,虽然它也会安装上,但是不是默认的。

重要的开源软件的版本更新情况

  • 基于 FreeBSD 的开源防火墙平台 pfSense 2.3 发布了第一个修复更新,版本号为 2.3\_1 而不是 2.3.1——这个完整维护版会在稍后发布。本次紧急更新是为了解决上游修复的 NTP 中发现的严重安全漏洞。
  • 另外一个基于 Linux 内核的开源防火墙平台 IPFire 2.19 发布了 Core Update 101 更新,解决了其 Web 界面中的一个跨站脚本安全漏洞。
  • 用于搭建自己的私有云的开源云平台软件 ownCloud 发布了其多个分支的维护版本:9.0.2、8.2.4、8.1.7、8.0.12 和 7.0.14,主要是修复了一些安全问题。另外要注意的是 ownCloud 7.x 系列在五月份就要结束支持期了,使用该版本的用户应该尽快升级到其它版本。
  • Firefox 46.0 推送了第一个维护版本 46.0.1,修复了一些安全问题。
  • Wordpress 的论坛插件 bbPress 中存在一个存储型 XSS 安全漏洞,黑客可以通过窃取 Cookie 来假扮成系统管理员。该安全问题至少会影响30万个使用 bbPress 的站点。最近释出的 2.5.9 解决了这个严重的安全问题,请尽快升级。
  • Canonical 修复了目前还在支持的 Ubuntu 各个版本中的 OpenSSL 的多个安全漏洞

Windows 10 是2015年7月29日上市的最新一代 Windows NT 系列系统,它是 Windows 8.1 的继任者。Windows 10 支持 Intel 32位平台,AMD64 以及 ARM v7 处理器。

Windows 10 and Linux Comparison

作为一个连续使用 linux 超过8年的用户,我想要去体验一下 Windows 10 ,因为有很多关于它的消息。这篇文章是我观察力的一个重大突破。我将从一个 linux 用户的角度去看待一切,所以这篇文章可能会有些偏向于 linux。尽管如此,本文也绝对不会有任何虚假信息。

1、用谷歌搜索“download Windows 10”并且点击第一个链接。

Search Windows 10

搜索 Windows 10

你也可以直接打开: [[https://www.microsoft.com/en\_us/software-download/Windows10[1]](https://www.microsoft.com/en_us/software-download/Windows10%5B1%5D)

2、微软要求我从 Windows 10, Windows 10 KN, Windows 10 N 和 Windows 10 单语言版中选择一个版本。

Select Windows 10 Edition

选择版本

以下是各个版本的简略信息:

  • Windows 10 - 包含微软提供给我们的所有软件
  • Windows 10N - 此版本不包含媒体播放器
  • Windows 10KN - 此版本没有媒体播放能力
  • Windows 10 单语言版 - 仅预装一种语言

3、我选择了第一个选项“Windows 10”并且单击“确认”。之后我要选择语言,我选择了“英语”。

微软给我提供了两个下载链接。一个是32位版,另一个是64位版。我单击了64位版--这与我的电脑架构相同。

Download Windows 10

下载 Windows 10

我的带宽是15M的,下载了整整3个小时。不幸的是微软没有提供系统的种子文件,否则整个过程会更加舒畅。镜像大小为 3.8 GB(LCTT译者注:就我的10M小水管,我使用迅雷下载用时50分钟)。

我找不到更小的镜像,微软并没有为 Windows 提供网络安装镜像。我也没有办法在下载完成后去校验哈希值。(LCTT 译注:你知道的,这对于 Linux 来说都是常识了)

我十分惊讶,Windows 在这样的问题上居然如此漫不经心。为了验证这个镜像是否正确下载,我需要把它刻到光盘上或者复制到我的U盘上然后启动它,一直静静的看着它安装直到安装完成。

首先,我用 dd 命令将 win10 的 iso 镜像刻录到U盘上。

# dd if=/home/avi/Downloads/Win10_English_x64.iso of=/dev/sdb1 bs=512M; sync

这需要一点时间。在此之后我重启系统并在 UEFI(BIOS)设置中选择从我的U盘启动。

系统要求

升级

  • 仅支持从 Windows 7 SP1 或者 Windows 8.1 升级

全新安装

  • 处理器: 1GHz 以上
  • 内存: 1GB以上(32位),2GB以上(64位)
  • 硬盘: 16GB以上(32位),20GB以上(64位)
  • 显卡: 支持DirectX 9或更新 + WDDM 1.0 驱动

Windows 10 安装过程

1、Windows 10启动成功了。他们又换了logo,但是仍然没有信息提示我它正在做什么。

Windows 10 Logo

Windows 10 Logo

2、选择安装语言,时区,键盘,输入法,点击下一步。

Select Language and Time

选择语言和时区

3、点击“现在安装”。

Install Windows 10

安装Windows 10

4、下一步是输入密钥,我点击了“跳过”。

Windows 10 Product Key

Windows 10 产品密钥

5、从列表中选择一个系统版本。我选择了 Windows 10专业版。

Select Install Operating System

选择系统版本

6、到了协议部分,选中"我接受"然后点击下一步。

Accept License

同意协议

7、下一步是选择(从 Windows 的老版本)升级到 Windows 10 或者安装 Windows。我搞不懂为什么微软要让我自己选择:“安装Windows”被微软建议为“高级”选项。但是我还是选择了“安装Windows”。

Select Installation Type

选择安装类型

8、选择驱动器,点击“下一步”。

Select Install Drive

选择安装盘

9、安装程序开始复制文件,准备文件,安装更新,之后进行收尾。如果安装程序能在安装时输出一堆字符来表示它在做什么就更好了。

Installing Windows

安装 Windows

10、在此之后 Windows 重启了。它们说要继续的话,我们需要重启。

Windows Installation Process

安装进程

11、我看到了一个写着“正在准备 Windows”的界面。它停了整整五分多钟!仍然没有说明它正在做什么。没有输出。

Windows Getting Ready

正在准备 Windows

12、又到了输入产品密钥的时间。我点击了“以后再说”,并使用快速设置。

Enter Product Key

输入产品密钥

Select Express Settings

使用快速设置

13、又出现了三个界面,作为 Linux 用户我认为此处应有信息来告诉我安装程序在做什么,但是我想多了。

Loading Windows

载入 Windows

Getting Updates

获取更新

Still Loading Windows

还是载入 Windows

14、安装程序想要知道谁拥有这台机器,“我的组织”或者我自己。选择我自己并继续。

Select Organization

选择组织

15、在单击继续之前,安装程序提示我加入“Aruze Ad”或者“加入域”。我选择了后者。

Connect Windows

连接网络

16、安装程序让我新建一个账户。所以我输入了“user\_name”就点击了下一步,我觉得我会收到一个要求我必须输入密码的信息。

Create Account

新建账户

17、让我惊讶的是 Windows 甚至都没有显示一个警告或提示信息,告诉我必须创建密码。真粗心。不管怎样,现在我可以体验系统了。

Windows 10 Desktop

Windows 10的桌面环境

Linux 用户(我)直到现在的体验

  • 没有网络安装镜像
  • 镜像文件太臃肿了
  • 没有验证 iso 是否为正确的方法(官方没有提供哈希值)
  • 启动与安装方式仍然与 XP,Win 7,Win 8 相同(可能吧...)
  • 和以前一样,安装程序没有输出它正在干什么 - 正在复制什么和正在安装什么软件包
  • 安装程序比 Linux 发行版的更加傻瓜和简单

测试 Windows 10

18、默认桌面很干净,上面只有一个回收站图标。我们可以直接从桌面搜索网络。底部的快捷方式分别是任务预览、网络、微软应用商店。和以前的版本一样,消息栏在右下角。

桌面图标

19、IE 浏览器被换成了 Edge 浏览器。微软把他们的老IE换成了 Edge (斯巴达计划)

Microsoft Edge Browser

Edge 浏览器

测试起来,这个浏览器至少比 IE 要快。他们有相同的用户界面。它的主页包含新闻更新。它还有一个搜索标题栏是“下一步怎么走”。由于浏览器的全面性能提升,它的加载速度非常快。Edge 的内存占用看起来正常。

Windows Performance

性能

Edge 也有小娜加成(智能个人助理)、支持 Chrome 扩展、支持笔记(在浏览网页时记笔记)、分享(在选项卡上右击而不必打开其他选项卡)

Linux 用户(我)此时体验

20、微软确实提升了网页浏览体验。我绝对稳定性和质量还好。现在它并不落后。

21、对我来说,Edge 的内存占用不算太大。但是有很多用户抱怨它的内存占用太多。

22、很难说目前 Edge 已经准备好了与火狐或 Chrome竞争。让我们静观其变。

更多的视觉体验

23、重新设计的开始菜单 -- 看起来很简洁高效。Merto 磁贴大部分都会动。预先放置了最通用的应用。

Windows Look and Feel

Windows

而在 Linux 的 Gnome 桌面环境下。我仅仅需要按下 Win 键并输入应用名就可以搜索应用。

Search Within Desktop

桌面内进行搜索

24、文件浏览器 -- 设计的很简洁。左边是进入文件夹的快捷方式。

Windows File Explorer

Windows 文件管理器

我们的 Gnome 下的文件管理也同样的简洁高效。从图标上移走了不需要的图形图像是个加分点。

File Browser on Gnome

Gnome 的文件管理

25、设置 -- 尽管 Windows 10的设置有点精炼,但是我们还是可以把它与 linux 的设置进行对比。

Windows 的设置

Windows 10 Settings

Windows 10 设置

Linux Gnome 上的设置

Gnome Settings

Gnome 的设置

26、应用列表 -- 目前,Linux上的应用列表要好于之前的版本(据我所记,那时我还是一个普通的 Windows 用户),但是 Windows 10 的还比 Gnome 3 的差一点。

Windows 的应用列表

Application List on Windows 10

Windows 10 的应用列表

Gnome3 的应用列表

Gnome Application List on Linux

Gnome3 的应用列表

27、虚拟桌面 -- Windows 10 上的虚拟桌面是近来被提及最多的特性之一。

这是 Windows 10 上的虚拟桌面。

Windows Virtual Desktop

Windows 的虚拟桌面

这是我们 Linux 用户使用了超过20年的虚拟桌面。

Virtual Desktop on Linux

Linux 的虚拟桌面

Windows 10 的其他新特性

28、Windows 10 自带 wifi 感知。它会把你的 wifi 密码分享给他人。任何在你 wifi 范围内并且曾经通过 Skype, Outlook, Hotmail 或 Facebook与你联系的人都能够获得你的网络接入权。这个特性的本意是让用户可以省时省力的连接网络。

在微软对于 Tecmint 的问题的回答中,他们说道 -- 用户需要在每次到一个新的网络环境时自己去同意打开 wifi 感知。如果我们考虑到网络安全这将是很不安全的一件事。微软的说法并没有说服我。

29、从 Windows 7 和 Windows 8.1 升级可以省下买新版的花费。(家庭版 $119 专业版$199)

30、微软发布了第一个累积更新,这个更新在一小部分设备上会让系统一直重启。Windows可能不知道这个问题或者不知道它发生的原因。

31、微软内建的“禁用/隐藏我不想要的更新”的功能在我这不起作用。这意味着一旦更新开始推送,你没有方法去禁用/隐藏他们。对不住啦,Windows 用户。

Windows 10 包含的来源于 Linux 的功能

Windows 10 有很多直接取自 Linux 的功能。如果 Linux 不以 GPL 发布的话,也许以下这些功能永远不会出现在 Windows上。

32、命令行的包管理器 -- 是的,你没有听错!Windows 10内建了一个包管理器。它只在 Power Shell 下工作。OneGet 是Windows 的官方包管理器。

Windows 10 Package Manager

Windows 10的包管理器

  • 无边窗口
  • 扁平化图标
  • 虚拟桌面
  • 离线/在线搜索一体化
  • 手机/桌面系统融合

总体印象

  • 响应速度提升
  • 动画很好看
  • 资源占用少
  • 电池续航提升
  • Edge 浏览器很稳定
  • 支持树莓派 2
  • Windows 10 好的原因是 Windows 8/8.1 没有达到公众预期并且坏的可以
  • 旧瓶装新酒:Windows 10基本上就是以前的那一套换上新的图标

测试后我对 Windows 10 的评价是:Windows 10 在视觉和感觉上做了一些更新(就如同 Windows 经常做的那样)。我要为斯巴达计划、虚拟桌面、命令行包管理器、整合在线/离线搜索的搜索栏点赞。这确实是一个更新后的产品 ,但是认为 Windows 10 将是 Linux 的最后一个棺材钉的人错了。

Linux 走在 Windows 前面。它们的做事方法并不相同。在以后的一段时间里 Windows 不会站到 Linux这一旁。也没有什么让 Linux 用户值得去使用 Windows 10。

这就是我要说的。希望你喜欢本文。如果你们喜欢本篇文章我会再写一些你们喜欢读的有趣的文章。在下方留下你的有价值的评论。


via: http://www.tecmint.com/a-linux-user-using-Windows-10-after-more-than-8-years-see-comparison/

作者:Avishek Kumar 译者:name1e5s 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

大家好,今天我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识。Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核。这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建、运行以及管理 Docker 容器。有个叫 Boot2Docker 的团队开发了一个同名的应用程序,它创建了一个虚拟机来运行基于Tiny Core Linux特制的小型 Linux,来在 Windows 上运行 Docker 容器。它完全运行在内存中,需要大约 27M 内存并能在 5秒 (因人而异) 内启动。因此,在用于 Windows 的 Docker 引擎被开发出来之前,我们在 Windows 机器里只能运行 Linux 容器。

下面是安装 Docker 客户端并在上面运行容器的简单步骤。

1. 下载 Boot2Docker

在我们开始安装之前,我们需要 Boot2Docker 的可执行文件。可以从 它的 Github 下载最新版本的 Boot2Docker。在这篇指南中,我们从网站中下载版本 v1.6.1。我们从那网页中用我们喜欢的浏览器或者下载管理器下载了名为 docker-install.exe 的文件。

2. 安装 Boot2Docker

现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于开箱即用地运行全功能的 Docker 引擎都至关重要。

3. 运行 Boot2Docker

安装完成必要的组件之后,我们从桌面上的“Boot2Docker Start”快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。

为了检查是否正确配置,运行下面的 docker version 命令。

docker version

4. 运行 Docker

由于 Boot2Docker Start 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。请注意,如果我们要将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。

现在,让我们来试试 hello-world 例子镜像,它会下载 hello-world 镜像,运行并输出 "Hello from Docker" 信息。

$ docker run hello-world

5. 使用命令提示符(CMD) 运行 Docker

现在,如果你想开始用命令提示符使用 Docker,你可以打开命令提示符(CMD.exe)。由于 Boot2Docker 要求 ssh.exe 在 PATH 中,我们需要在命令提示符中输入以下命令使得 %PATH% 环境变量中包括 Git 安装目录下的 bin 文件夹。

set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"

运行上面的命令之后,我们可以在命令提示符中运行 boot2docker start 启动 Boot2Docker 虚拟机。

boot2docker start

注意: 如果你看到 machine does no exist 的错误信息,就运行 boot2docker init 命令。

然后复制上图中控制台标出命令到 cmd.exe 中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker 容器了。

6. 使用 PowerShell 运行 Docker

为了能在 PowerShell 中运行 Docker,我们需要启动一个 PowerShell 窗口并添加 ssh.exe 到 PATH 变量。

$Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin"

运行完上面的命令,我们还需要运行

boot2docker start

这会打印用于设置环境变量连接到虚拟机内部运行的 Docker 的 PowerShell 命令。我们只需要在 PowerShell 中运行这些命令就可以和平常一样运行 docker 容器。

7. 用 PUTTY 登录

Boot2Docker 会在%USERPROFILE%.ssh 目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY 的格式。我们可以通过 puttygen.exe 实现。

我们需要打开 puttygen.exe 并从 %USERPROFILE%.ssh\id\_boot2docker 中导入("File"->"Load" 菜单)私钥,然后点击 "Save Private Key"。然后用保存的文件通过 PuTTY 用 [email protected]:2022 登录。

8. Boot2Docker 选项

Boot2Docker 管理工具提供了一些命令,如下所示。

$ boot2docker

Usage: boot2docker.exe [<options>] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} [<args>]

总结

通过 Docker Windows 客户端使用 Docker 很有趣。Boot2Docker 管理工具是一个能使任何 Docker 容器能像在 Linux 主机上平滑运行的很棒的应用程序。如果你更仔细的话,你会发现 boot2docker 默认用户的用户名是 docker,密码是 tcuser。最新版本的 boot2docker 设置了一个 host-only 的网络适配器提供访问容器的端口。一般来说是 192.168.59.103,但可以通过 VirtualBox 的 DHCP 实现改变。

如果你有任何问题、建议、反馈,请在下面的评论框中写下来然后我们可以改进或者更新我们的内容。非常感谢!Enjoy:-)


via: http://linoxide.com/linux-how-to/run-docker-client-inside-windows-os/

作者:Arun Pyasi 译者:ictlyh 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出