如何在Linux和Windows主机上运行跨平台应用程序

41次阅读
没有评论

问题描述

想知道是否可以在Linux和Windows主机上运行跨平台应用程序。他已经阅读了一些关于Linux容器无法在Windows上运行以及反之的信息。他理解这是因为容器不包含内核,因此依赖于主机内核。但是,如果他有一个简单的应用程序,比如一个Python的Hello World,是什么阻止它在两个操作系统上运行呢?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

简单的应用程序如Python的Hello World不能在Linux和Windows主机上直接运行,就像将Linux机器上的/usr/bin/python复制到Windows机器上并使用它来运行应用程序一样是行不通的。Docker并不是运行Hello World脚本,而是运行Python,而Python需要针对特定的操作系统和架构进行编译。

方案2

在Windows和Mac上,你可以在Docker上运行你的容器,但是Docker会在Linux虚拟机上运行你的容器。它会处理从主机机器到容器的卷映射、端口等。因此,你大部分时候不需要考虑虚拟机层。但是你仍然需要配置虚拟机资源的限制(如RAM、CPU等),并且可能会对性能产生不利影响。
我认为你不能直接在Windows机器上运行基于Linux的Docker容器,即使是一个简单的”Hello World”应用程序也会使用Linux基础镜像和Linux二进制文件,而这些在没有某种仿真或虚拟化的情况下无法在Windows机器上运行。
参考文档:https://docs.docker.com/docker-for-windows

正文完