2016-09-28 40 views
0

我想弄清楚如何在Windows 10机器上做一些软件测试,我不知道我想要做什么可能与Docker或其他技术。如果任何人有任何建议,如果可能与否,以及我需要做什么技术,这将是伟大的,非常乐意去调查,如果我知道我正朝着正确的方向前进。如何使用Windows Containers进行软件测试?

基本上我想建立它使用我的主要的Windows 10安装为基础的容器,但随后已隔离容器,将:

  • 的外观和行为,就好像它们是相同的Windows 10安装的一部分
  • 与应用程序和文件夹结构方面运行的其他容器隔离。我希望能够在容器中启动一个应用程序,使其可以访问主要安装以及容器中的文件夹,然后将结果传递回主要的Windows安装。
  • 有能力重置回它的原始图像状态,所以当我在将来某个时候启动容器时,安装到容器中的任何应用程序或文件都不存在。我想回到图像中定义的原始状态(可能只是一个文件夹结构,因为任何默认应用程序都将安装在基本Windows安装上)。

这有道理吗?我有兴趣听到关于这是否可能的任何想法。我一直试图做几天没有运气,使用Docker,Docker-Machine,Hyper-V以及在线发现的博客/教程。

感谢,

PH

+0

是的所有选项。请使用正确的标题来解释你想要的内容。是*什么*可能?问题文字听起来像是容器的通用概述。标题不应该是“我如何使用Windows 10容器进行测试?” –

+0

使用快照创建虚拟机可能是您的朋友,但您也可以尝试使用sandboxie:http://www.sandboxie.com –

+0

@BJBlack为什么?容器已经满足了所有需求,实际上,这就是容器的*定义*。虚拟机的重量要大得多,而sandboxie试图伪造容器,没有任何实际的保证 –

回答

2

的第一件事是 - 不,你不能使用Windows 10的位置。您可以将Windows应用程序打包为Docker容器映像,但它们需要基于服务器操作系统 - Nano ServerWindows Server Core。您可以从Windows 10上的这些映像运行容器。

您的容器看起来并不像在Windows 10上运行的应用程序那样。它们是独立单元,看起来更像独立计算机 - 每个容器都有自己的独立单元(虚拟)IP地址和文件系统。您可以通过以下方式将容器与您的主机集成在一起:

  • 发布端口使得到主机的网络请求被路由到容器,当您浏览到http://localhost:8080时,您实际上可以从发布端口8080的容器获得响应;
  • 使用卷在容器中安装主机文件系统的一部分,因此您的容器可以读取和写入它认为是本地目录的内容,但这实际上是主机上的一个挂载目录,所以它可以像网络共享那样工作。

泊坞窗图像是快照 - 当你从图像运行一个容器时,它将在图像持久存在时具有图像的状态。您可以更改容器中的内容,但不会更改图像。杀死该容器并从相同的图像中启动一个新的容器,它将具有原始状态。

我们处于早期阶段,在Windows上使用Docker,但Windows 10 quick start on MSDN会帮助您入门,或者您可以查看我的博客以了解running IIS in Docker on a Windows Server 2016 VM

+0

感谢所有的反馈意见和建议。我现在会进一步调查。 @Panagiotis Kanavos - 好点,我已经重新命名了这篇文章,希望能更好地了解我正在寻找的信息。 – PeteH