題 Docker / Windows容器:如何在Windows 2016上將主機文件夾作為數據卷安裝


如何將捲從Windows主機掛載到Windows客戶機系統?

我在使用Docker的Windows Server 2016 TP4上。

關於文檔 https://docs.docker.com/engine/userguide/containers/dockervolumes/

如果您在Mac或Windows上使用Docker Machine,則使用Docker守護程序   只能有限地訪問您的OS X或Windows文件系統。搬運工人   機器嘗試自動共享您的/用戶(OS X)或C:\ Users(Windows)   目錄。因此,您可以使用安裝OS X上的文件或目錄。

在Windows上,使用以下命令安裝目錄

docker run -v / c / Users / [path]:/ [container path] ...`

我試過了:

docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/meinedaten iis cmd

這給了我一個錯誤:

docker : docker: Error response from daemon: Invalid bind mount spec "/c/Users/mlin/meinedaten:/meinedaten": volumeinvalid: Invalid volume specification: 
'/c/Users/mlin/meinedaten:/meinedaten'.

我也嘗試過:

docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/c/meinedaten iis cmd

請注意,guest虛擬機/容器上的路徑C:\ meinedaten已經存在,這是根據docker文檔所必需的。

根據文檔,該命令對我來說是正確的。

enter image description here

(從Mac OS X主機到Ubuntu docker容器的安裝卷工作正常,我只是遇到Windows問題。)

更新

我還試圖本地使用Windows容器(通過Powershell),而不是使用Docker。我按照文檔進行操作 https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_powershell#create-a-shared-folder

Add-ContainerSharedFolder -ContainerName mysql2 -SourcePath C:\Users\mlin\meinedaten -DestinationPath C:\meinedaten

但是我也遇到了問題。

enter image description here

最終相關主題:


10
2018-03-11 10:04


起源




答案:


在Windows上,必須使用Windows樣式語義指定路徑。 您不應該在路徑前使用前導斜杠。

docker run -v c:\Users\[path]:c:\[containerPath]

12
2018-03-18 11:39



如果使用複製或添加命令創建文件夾,則無效。 - Steve Coleman


Windows 10週年更新和Windows Server 2016 RTM。

添加卷:

docker run -d -v my-named-volume:C:\MyNamedVolume testimage:latest

掛載主機目錄:

docker run -d -v C:\Temp\123:C:\My\Shared\Dir testimage:latest

3
2017-10-05 14:55