Docker / Windows Container: як змонтувати хост-папку як об'єм даних у Windows 2016


17

Як встановити гучність з хоста 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 намагається автоматично поділитися каталогом / Користувачі (OS X) або C: \ Користувачі (Windows). Отже, ви можете монтувати файли чи каталоги на OS X за допомогою.

У Windows монтуйте каталоги за допомогою:

docker run -v / c / Users / [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

Зауважте, що шлях C: \ meinedaten для гостя / контейнера вже існує, що потрібно відповідно до документації докера.

Команда виглядає правильно для мене відповідно до документації.

введіть тут опис зображення

(Монтаж обсягів з хоста Mac OS X на контейнер докерів Ubuntu працює нормально, у мене просто проблеми з 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

Але в мене виникають і проблеми.

введіть тут опис зображення

З часом пов'язані теми:

Відповіді:


23

У Windows шляхи повинні бути визначені за допомогою семантики у стилі Windows. Не слід використовувати провідну косу рису перед стежкою.

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

Це не працює, якщо ви створили папки за допомогою команди копіювання чи додавання.
Стів Коулман

dir хоста може бути також відносним "./", а внутрішній гостьовий os може бути типом linux ls, таким чином, звичайний шлях до linux "/ a / b / c /", як, у docker складають таким чином `volumes: - ./:/var / www / html`
FantomX1

7

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.