2016-07-08 244 views
1

我在使用Docker版本1.12.0-rc3-beta18(版本:5226)的Windows 10 Pro上。我想在Windows機器上使用Docker進行PHP開發。我試圖安裝主機目錄的所有可能的(我希望)變化到碼頭工人的容器:無法將Windows主機目錄掛載到Docker容器

  • // C /用戶/ ...
  • /C /用戶/ ...
  • // C /用戶/ ...
  • /C /用戶/ ...
  • C:/用戶/ ...
  • C:\用戶...
  • 「C:\用戶...」 這兩種變體都不會啓動容器。是的,docker run創建容器,我可以看到它與docker ps --all。但我不能開始。例如。我想簡單的文檔,例如:

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

docker logs e030ba0f7807

重播作爲

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

發生了什麼?

回答

0

如果您將docker與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,請參見 「Running Docker on Hyper-V」 從Henning M Stephansen

Hyper-V是一個更分離的和限制的環境比VMware或VirtualBox是,所以沒有共享文件夾的概念。
但是,我們可以從我們的Docker虛擬機掛載和訪問Windows共享。

您需要做的第一件事就是共享一個文件夾。該文件夾可以僅限於您的用戶。
如果虛擬機可以通過外部虛擬交換機或內部虛擬交換機訪問網絡,您應該可以從Docker虛擬機掛載文件夾。

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主機目錄內容。我只是設法用這樣的命令成功掛載Windows目錄:'docker run -d -P -v「D:\ Users \ erop \ Documents \ docker \ index」:/ opt/bitnami/apache/htdocs bitnami/apache'和我的瀏覽器被定向到位於Windows目錄中的http:// docker:32796/displays index.html。 – erop

+0

@erop我剛編輯答案。 – VonC

+0

@erop Docker不只是清除現有的容器文件夾,並用Windows主機目錄內容替換它。 – VonC

相關問題