Docker / Windows Container: как смонтировать папку хоста как том данных в Windows 2016

22561
Mathias Conradt

Как смонтировать том с хоста Windows на гостевую систему Windows?

Я на Windows Server 2016 TP4 с помощью Docker.

Следуя документации на https://docs.docker.com/engine/userguide/containers/dockervolumes/

Если вы используете Docker Machine на Mac или Windows, ваш демон Docker имеет только ограниченный доступ к вашей файловой системе OS X или Windows. Docker Machine пытается автоматически предоставить общий доступ к вашему каталогу / Users (OS X) или C: \ Users (Windows). Таким образом, вы можете монтировать файлы или каталоги в OS X, используя.

В Windows смонтируйте каталоги, используя:

Докер запускает -v / c / Users / [путь]: / [путь контейнера] ... `

Я старался:

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 

Обратите внимание, что путь C: \ meinedaten в гостевом / контейнере уже существует, что требуется согласно документации докера.

Команда выглядит правильно для меня в соответствии с документацией.

Docker / Windows Container: как смонтировать папку хоста как том данных в Windows 2016

(Монтирование томов с хоста Mac OS X в док-контейнер Ubuntu работает нормально, у меня просто проблемы с Windows.)

Обновить

Я также попытался использовать Windows Containers изначально (через 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 

Но у меня тоже есть проблемы.

Docker / Windows Container: как смонтировать папку хоста как том данных в Windows 2016

В конце концов связанные темы:

11

2 ответа на вопрос

12
Mathias Conradt

On Windows, the paths must be specified using Windows-style semantics. You should not use a leading slash in front of the path.

docker run -v c:\Users\[path]:c:\[containerPath] 
Это не работает, если вы создали папки с помощью команды копирования или добавления. Steve Coleman 5 лет назад 0
3
Der_Meister

Windows 10 Anniversary Update и 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 

Похожие вопросы