2016-09-07 9 views
0

私はWindowsで作業しており、Linux(TensorFlow、Caffe)でのみ利用可能なライブラリを使用する必要があります。 Dockerでソフトウェアを実行したいと思います。私はドッカーのメカニズムをはっきりと理解できないので、私の問題までは完全に失われています。私は何をすればいいのですか?Windows上のDockerでLinuxライブラリを実行するには?

+0

Windows 10周年記念版では、VMの代わりにLinuxサブシステムを使用できます。 –

+0

使用するOS * *はどれですか? Dockerは、アプリケーションをパッケージ化してデプロイする場合にのみ便利です.VMなしでWindows上でLinuxコードを実行することはありません。 –

答えて

1

編集:Windowsのドッカーホスティング機能(Windowsホスト上のコンテナ)について

  • のWindows 10がドッカーホスト機能を提供していますが、のみによって、すなわち、Hyper-Vの、に基づいて、 LinuxのようなVMの手段。
  • Windows 2016は、ネイティブのDockerホスト機能を提供します(@friismのおかげでこれを指摘してください)。 Windowsのドッカーコンテナ機能(コンテナ内のWindows)について

  • Windocksは、コンテナ内の.NETとSQL Serverのサポートを提供しています(@paulに感謝)。
  • Windows 2016では、windowsservercoreベースのDockerイメージを使用すると、Windowsサービスを実行できます。simple exampleを参照してください。
  • Windows 10 & Hyper-Vでは、ナノサーバーベースのDockerイメージでWindowsコマンドを実行できます(ここではhelloworld PowerShellの例を参照)。 Windows版のDockerデーモンが必要で、Linux Dockerホストでは動作しません。hereを参照してください。

オリジナル回答:最初

悪いニュース:ドッカーがではありません(完全には正しくない、上記の編集を参照してください) Windowsではサポートは(ネイティブホスト大丈夫、それはあなたがどう定義するかに依存しますDockerはいつもLinuxのようなDockerホストを必要としています。下記の良いニュースをご覧ください)。

良いニュースは、DockerコンテナをDockerホスト上で実行することによってDockerをWindows上で使用できることです.DockerホストはWindows上で仮想Linuxマシンとして実行しています。 VirtualBox、VMware、または現在はWindows 10 Professionalで正式に推奨されています:Hyper-V。

DockerコンテナがLinuxライクなホスト上で動作し、コンテナ内にLinux環境を提供しているので、ネイティブ環境と同じ方法でコンテナ内にLinuxソフトウェアをインストールできますLinuxマシン。あなたはこのコンテナ内の任意のapt-getコマンドを実行できるコマンドに

docker run -it ubuntu bash 

を発行することで、Ubuntuのドッカーの画像から対話型端末でドッカーコンテナを起動し、言います。

コンテナ内で変更したデータは、永続的なものではありません。コンテナにSWをインストールしたら、docker commitコマンドを使用して、新しいコンテナから新しいDockerイメージを作成して作業を保存することができます。このようなイメージを作成するための高度で自動化された方法は、テストされたインストールコマンドをDockerfileにRUNディレクティブとして追加し、手動でインタラクティブコンテナを実行してソフトウェアを手動で追加することなくイメージを構築することです。

+1

Windows 10にはLinuxサブシステム(WindowsのBashとも呼ばれます)がありますので、Linux VMは必要ありません。 Scott Hanselmanは[このようにWindowsでTensofFlowを使用していることを示す]デモを行っています(http://www.hanselman.com/blog/PlayingWithTensorFlowOnWindows.aspx) –

+0

興味深い。 Dockerがこのサブシステムで動作するかどうか知っていますか?私はVladislavの質問を理解しています。彼はDockerでソフトウェアを動かしたいと思っています.DockerはWindows上で実行したいと思っています。 – Olli

+0

この[serverfaultのリンク](http://serverfault.com/questions/767994/can-you-run-docker-natively-on-the-new-windows-10-ubuntu-bash-userspace)とこれが見つかりました[docker forum link](https://forums.docker.com/t/docker-for-windows-and-windows-subsystem-for-linux/12854/12)は、Windowsのbashに関する話題について議論しています。答えが(まだ)正しい場合、DockerはWindows 10 bashでサポートされていない可能性が最も高いです。同意しますか? – Olli

0

Windows 10周年記念版には、通常、Bash on Windowsと呼ばれるLinuxサブシステム(Ubuntuベース)が含まれています。これはBashだけではなく、UbuntuのバイナリをWindows上で実行するための翻訳レイヤーです。これを使用してユーザーモードアプリケーションを実行できます。

Scott Hanselmanは、Linuxマシンの場合と全く同じコマンドを使用して、TensorFlowをこのように使用する方法を示します(Playing With Tensor Flow On Windows)。スコットのポストからコピー:

$ 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 

は迷惑はそれがUbuntuの14.04.5 LTS、ということですMNISTデモ

の実行を開始しますない最新16.04

+1

downvoteの説明はありますか?あなたはWindows 10上でTensorflowを使用することができ、LinuxをターゲットとするDockerコンテナ内で実行するために同じコードをパッケージ化することができます。 –

関連する問題