Windows和Linux容器异同大起底

在Windows和Linux系统上都可以运行Docker容器。Docker在两种操做系统上的工做方式既有类似,又有不一样。下面,我将介绍在Windows系统上安装和运行Docker的步骤,而且指出它们与在Linux系统上运行Docker相比的相同之处和不一样之处。nginx

在Windows和Linux上安装Docker

咱们先从安装开始。在这两个操做系统上安装Docker的过程是不一样的。docker

在Windows上安装Docker,就像安装任何Windows应用程序同样,你只须要下载该应用程序,点击安装便会弹出一个友好的用户安装向导:shell

图片描述

相比之下,想要在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系统上命令都是同样的。不管你运行哪一种操做系统,你只须要学习一套工具。spa

运行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具备很强的可靠性,从而带来极佳的用户体验。它能够帮助你避免配置“地狱”和环境的不可预测性,然而这些都是虚拟机和其它旧式基础架构的重要组成部分。

关注微信公众号(RancherLabs),获取每日Docker&K8S技术干货推送。添加Rancher助手(RancherLabsChina)为好友,加入技术群,获取免费技术支持,年底赢取Apple Watch、Beats耳机、机械键盘等重磅好礼。

相关文章
相关标签/搜索