博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows和Linux容器异同大起底
阅读量:5757 次
发布时间:2019-06-18

本文共 1792 字,大约阅读时间需要 5 分钟。

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

关注微信公众号(RancherLabs),获取每日Docker&K8S技术干货推送。

添加Rancher助手(RancherLabsChina)为好友,加入技术群,获取免费技术支持,年末赢取Apple Watch、Beats耳机、机械键盘等重磅好礼。

转载地址:http://devkx.baihongyu.com/

你可能感兴趣的文章
Hadoop序列化与压缩
查看>>
我的友情链接
查看>>
显式锁(第十三章)
查看>>
SCCM的证书配置PKI
查看>>
看linux书籍做的一些重要笔记(2011.07.03更新)
查看>>
CString、Char* ,char [20]、wchar_t、unsigned short转化
查看>>
从案例学RxAndroid开发(上)
查看>>
Redis学习手册(内存优化)
查看>>
浅尝TensorFlow on Kubernetes
查看>>
springboot系列十 Spring-Data-Redis
查看>>
Confluence 6 注册外部小工具
查看>>
excel进行矩阵计算
查看>>
基于Android平台的动态生成控件和动态改变控件位置的方法
查看>>
linux 死机分析
查看>>
BOM
查看>>
LeetCode:Nim Game - 尼姆博弈
查看>>
iOS: Block的循环引用
查看>>
mysql实战02 | 日志系统:一条SQL更新语句是如何执行的?
查看>>
ECC椭圆曲线详解(有具体实例)
查看>>
关于WechatApp学习总结
查看>>