浅谈Windows与Linux环境中的Docker容器

Posted 研发云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈Windows与Linux环境中的Docker容器相关的知识,希望对你有一定的参考价值。

在我们昨天聊到的

有关Windows和Linux之争的话题中

曾说过相较于普通电脑试用者

开发者们更喜欢Linux平台

其中有一个重要理由

就是因为他们常常要用到容器技术

浅谈Windows与Linux环境中的Docker容器

目前Windows容器的生态系统

比Linux容器世界小得多

例如同为容器的OpenVZ和LXD

只支持Linux平台

这也是为什么大量的开发者

会更青睐Linux而不是Windows的原因

不过在Windows和Linux系统上

均可以运行Docker容器

Docker在两种操作系统上的工作方式

既有相似,又有不同

浅谈Windows与Linux环境中的Docker容器

相同点

Docker容器在linux和windows上都被定位为应用程序容器,并可以由Docker客户端进行管理(当然也可以在Windows上用脚本来管理容器)。在两个操作系统中,他们具有同样的可移植性和模块化特征。

浅谈Windows与Linux环境中的Docker容器


不同点

Docker只支持Windows的某些版本(例如Windows server 2016和Windows 10),另外Windows还有严格的关于图像兼容性的要求,所以对Docker的支持度不高,Docker的容器编排系统和部分网络特点目前在Windows上也还不支持(即使是支持的Kubenetes和Mesos也嫌开发不足)。


相比之下,Docker却可以在任何类型的现代Linux基础操作系统中被顺畅使用。

浅谈Windows与Linux环境中的Docker容器


安装Docker


在Linux上安装Docker,则需要从发行版的包管理器(如yum、dnf)中获取Docker包,或直接从Docker站点引导安装。但是只需要安装Docker引擎和管理工具,而不需要创建虚拟机或者虚拟网络,因为容器将自行创建环境。

浅谈Windows与Linux环境中的Docker容器

浅谈Windows与Linux环境中的Docker容器


浅谈Windows与Linux环境中的Docker容器

现在主流的Docker编排工具

基本上都能支持Windows和Linux混合部署

例如Kubernetes

但由于Docker容器在平台上

是guest和host共享操作系统内核的

所以只支持本地主机操作系统的应用程序

换句话说,Docker for Windows

只支持Docker容器中的Windows应用程序

Linux上的Docker容器内

只支持Linux的应用程序

Windows与Linux系统平台上的Docker容器

难以兼容对方的应用程序

浅谈Windows与Linux环境中的Docker容器


变通之法

办法呢,想想总是有的

在西雅图举办的DockerCon 2016上

Docker官方发布了一个

Docker Windows的公开测试版本

能支持在安装了Hyper-V的Windows 10专业版上

通过Docker运行Linux容器

而在Linux上的Docker容器

虽难以运行Windows、OS X等非Linux操作系统

但可在Docker容器内部运行一个virtualbox应用程序

然后通过virtualbox来运行Windows操作系统

这也是一种变通的办法

研发云  开发者的好帮手

获取更多产品介绍及业界动态

以上是关于浅谈Windows与Linux环境中的Docker容器的主要内容,如果未能解决你的问题,请参考以下文章

Docker Desktop for Linux 来了

windows10 docker desktop与本机数据拷贝

Docker For Windows 安装配置及常用维护

初学linux浅谈

.NetCore + Docker在Windows系统中的安装与部署

浅谈测试环境治理在Devops中的应用