2016-07-08 11 views
1

私はDockerバージョン1.12.0-rc3-beta18(ビルド:5226)のWindows 10 Proを使用しています。私はWindowsマシン上でPHP開発のためにDockerを使用したいと思います。私は、ドッカー容器に取り付けホストディレクトリのすべての可能な(私は願っています)のバリエーションを試してみました:WindowsホストディレクトリをDockerコンテナにマウントできません

  • // C /ユーザ/ ...
  • /C /ユーザ/ ...
  • // C /ユーザ/ ...
  • /C /ユーザ/ ...
  • C:/ユーザ/ ...
  • C:\ユーザー...
  • "C:\ユーザー..." どちらの変種もコンテナを起動しません。はい、docker runはコンテナを作成し、docker ps --allと表示されます。しかし、私はそれを始めることはできません。例えば。何が起こった

    python: can't open file 'app.py': [Errno 2] No such file or directory

    よう

docker run -d -P -v "C:\temp":/opt/webapp training/webapp python app.py

docker logs e030ba0f7807

リプレイ:私は、単純なドキュメントの例を試してみましたか?

答えて

0

docker-machineでドッカーを使用している場合は、最初にc:\tempをVirtualBoxの共有フォルダとして登録する必要があります。

見る "docker with shared folder d drive"

docker-machine sshセッション内から:

sudo touch /mnt/sda1/var/lib/boot2docker/bootlocal.sh 

そのファイルに追加します。

mkdir -p /mnt/temp 
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` temp /mnt/temp 

パスはその後、例えば/mnt/tempを介してアクセスされること。

C:\Usersは、既に共有フォルダc/Usersに適用されます。

/c/Usersでアクセスできます。 Hyper-Vのでは


Henning M Stephansenから "Running Docker on Hyper-V" を参照してください。

のHyper-Vは、VMwareやVirtualBoxがある以上、単離および制約の少ない環境なので、共有フォルダの概念はありません。
しかし、Docker VMからWindows共有をマウントしてアクセスすることができます。

まず、フォルダを共有するだけです。このフォルダは、あなたのユーザだけに制限することができます。
外部仮想スイッチまたは内部仮想スイッチを介してVMにネットワークにアクセスできる場合は、ドッカーVMからフォルダをマウントできる必要があります。

http://www.henning.ms/wp-content/uploads/2015/05/share-internet.jpg

は(これはあなたのイメージに含まれている場合があります)私たちはいくつかの追加モジュールをインストールする必要がBoot2Docker /小型コアのLinuxからWindows共有をマウントすることができるようにするには:

wget http://distro.ibiblio.org/tinycorelinux/5.x/x86/tcz/cifs-utils.tcz 
tce-load -i cifs-utils.tcz 

ここで、次のコマンドを使用して共有フォルダをマウントできます。

sudo mount -t cifs //HOST-IP-HERE/SharedFolderPath /path/where/we/want/it/mounted -o username=HOST_USERNAME_HERE 
+0

ありがとう、@Vonc、返信用!しかし、Dockerは既存のコンテナフォルダを一掃してWindowsのホストディレクトリの内容に置き換えるように見えます。 'docker run -d -P -v" D:\ Users \ erop \ Documents \ docker \ index ":/ opt/bitnami/apache/htdocs bitnami/apache'のようなコマンドでWindowsディレクトリを正常にマウントできました。私のブラウザはhttp:// docker:32796/Windowsディレクトリにあるindex.htmlを表示します。 – erop

+0

@erop私はちょうど答えを編集しました。 – VonC

+0

@erop Dockerは、既存のコンテナフォルダを消去してWindowsのホストディレクトリの内容で置き換えるだけではありません。 – VonC

関連する問題