繁体   English   中英

如何在Windows上的Docker上运行Linux库?

[英]How to run Linux libraries on Docker on Windows?

我在Windows上工作,我需要使用仅在Linux(TensorFlow,Caffe)上可用的库。 我想在Docker上运行该软件。 我无法清楚地了解Docker机制,因此当我遇到问题时,我完全迷失了。 我该怎么办,应该如何工作?

编辑:

关于Windows Docker托管功能(Windows主机上的容器):

  • Windows 10提供Docker主机功能,但仅基于Hyper-V,即通过类似Linux的VM。
  • Windows 2016提供了本地Docker主机功能(感谢@friism在下面指出这一点)。

关于Windows Docker容器功能(容器中的Windows)

  • Windocks在容器内提供.Net和SQL Server支持(感谢@paul)。
  • 在Windows 2016上,基于Windowsservercore的Docker映像允许您运行Windows服务,请参见此简单示例
  • 在Windows 10和Hyper-V上,基于nanoserver的Docker映像允许您运行Windows命令(请参见此处的helloworld PowerShell示例)。 需要Windows版本的Docker守护程序,并且不能在Linux Docker主机上运行,​​请参见此处

原始答案:

首先是个坏消息:本地Windows主机不支持Docker (不是完全正确,请参见上面的编辑) (好的,这取决于您如何“本地”定义。)我的意思是,Docker始终需要类似Linux的Docker主机,请参见新闻)。

好消息是,可通过在Docker主机上运行Docker容器在Windows上使用Docker主机,该主机在Windows上作为虚拟Linux机器运行,例如在VirtualBox,VMware或当今正式在Windows 10 Professional上首选:在Hyper-V上。

最好的消息是:由于Docker容器在类似Linux的主机上运行,​​并且在容器中提供Linux环境,因此您可以像在本机Linux机器上一样安装容器中的任何Linux软件。 假设您通过发出以下命令从Ubuntu Docker映像启动具有交互式终端的Docker容器

docker run -it ubuntu bash

您可以在此容器中运行任何apt-get命令。

请注意,您在容器中更改的数据并不意味着是持久的。 将SW安装到容器中后,您可能希望通过使用docker commit命令从新容器中构建新的Docker映像来保留工作。 创建此类映像的高级自动方法是在Dockerfile中将经过测试的安装命令作为RUN指令添加,并从中构建映像,而无需手动运行交互式容器和手动添加软件。

Windows 10周年纪念版包括Linux子系统(基于Ubuntu),通常称为Bash on Windows 不只是Bash,它还是一个转换层,它使您可以在Windows本身上运行用户模式应用程序, 在其顶部运行Ubuntu二进制文件。 您可以使用它来运行用户模式应用程序。

Scott Hanselman展示了如何使用与在Windows上使用Tensor Flow玩 Linux机器上完全相同的命令,以这种方式使用TensorFlow。 从斯科特的帖子复制:

$ sudo apt-get install python-pip python-dev
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

将安装TensorFlow并

$ cd tensorflow/models/image/mnist
$ python convolutional.py

将开始执行MNIST演示

唯一的烦恼是它是Ubuntu 14.04.5 LTS,而不是最新的16.04

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM