Windows和Linux容器异同大起底

万事须己运,他得非我贤。这篇文章主要讲述Windows和Linux容器异同大起底相关的知识,希望能为你提供帮助。
????
在Windows和Linux系统上均可以运行Docker容器。Docker在两种操作系统上的工作方式既有相似,又有不同。下面,我将介绍在Windows系统上安装和运行Docker的步骤,并且指出它们与在Linux系统上运行Docker相比的相同之处和不同之处。
在Windows和Linux上安装Docker
我们先从安装开始。在这两个操作系统上安装Docker的过程是不同的。
在Windows上安装Docker,就像安装任何Windows应用程序一样,你只需要下载该应用程序,点击安装便会弹出一个友好的用户安装向导:

相比之下,想要在Linux上安装Docker,你可以从发行版的包管理器(如yum、dnf)中获取Docker包,或者使用以下命令直接从Docker站点安装:

sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"

在后台的Docker:Windows和Linux的区别
在Windows和Linux系统中安装Docker的方法只有一个不同。在Linux系统上安装Docker时,只需要安装Docker引擎和管理工具,而不需要创建虚拟机或者虚拟网络,因为你的容器将会为你创建环境。
Docker在Windows系统上安装是不同的。在安装时,Docker会创建一个基于Linux的虚拟机,叫做MobyLinux虚拟机,这个虚拟机是基于Alpine Linux的。Docker应用程序会连接到此虚拟机,你便可以开始创建具有必要操作组件的容器了。
为了与本地网络和NAT(网络地址转换)进行通信,在Docker安装中会为虚拟机配置一个子网,以便你的容器在应用程序中使用。
因为所有这些步骤都发生在后台,身为用户的你不必为这些步骤操心。不过,事实上Docker是在Windows后台运行虚拟机,这也是Docker在Windows和Linux的另外一个主要区别。
Docker命令
一旦你安装了Docker,在Linux和Windows系统上命令都是一样的。无论你运行哪种操作系统,你只需要学习一套工具。
运行Docker命令时,Windows和Linux的唯一区别在于你运行它们的位置。在Linux系统上,你可以使用你选择的终端仿真器。在Windows系统上,使用PowerShell的CLI(命令行界面)。
下面是在Windows系统上的PowerShell里运行Docker的例子。第一个截图显示的是系统的信息,而第二个截图显示了一些在Windows系统上运行的容器。

Windows与Linux系统:哪个更适合Docker?
就我个人观点而言,我发现在Linux操作Docker比在Windows操作更容易。尽管在Windows和Linux系统环境下Docker的功能并没有什么区别,但是Linux上的安装过程要快一些(安装apt-get比安装Windows软件包要快),而且在Linux上更容易访问shell。
上面说的,仅仅只是我个人的偏好。从技术层面来讲,在Windows和Linux系统上使用Docker并没有什么真正区别。你可以在这两个平台上使用Docker实现相同的功能。所以不能讲Windows或Linux对Docker的托管是“更好的”。
结论
事实上,Docker的优秀之处正是在于,并不存在所谓的哪个操作系统比另一个操作系统更适合它。不管Docker在哪里运行(尽管有些配置以及后台运行的东西不尽相同),Docker的用户体验总是一样的。不管你使用哪个操作系统,哪个特定的shell,也不管Docker环境是在云端还是在本地运行,又或者外面是晴天还是雨天,一个docker run -d -p 80:80 nginx命令就可以启动一个NGINX容器。
这种一致性使得Docker具有很强的可靠性,从而带来极佳的用户体验。它可以帮助你避免配置“地狱”和环境的不可预测性,然而这些都是虚拟机和其它旧式基础架构的重要组成部分。
【Windows和Linux容器异同大起底】关注微信公众号(RancherLabs),获取每日Docker& K8S技术干货推送。 加入技术群,获取免费技术支持,年末赢取Apple Watch、Beats耳机、机械键盘等重磅好礼。

    推荐阅读