簡體   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