ตัวเชื่อมต่อ / คอนเทนเนอร์ Windows: วิธีติดตั้งโฟลเดอร์โฮสต์เป็นไดรฟ์ข้อมูลใน Windows 2016


17

วิธีการเมานไดรฟ์จากโฮสต์ Windows กับระบบของผู้เยี่ยมชม Windows?

ฉันใช้ Windows Server 2016 TP4 โดยใช้ Docker

ติดตามเอกสารใน https://docs.docker.com/engine/userguide/containers/dockervolumes/

หากคุณกำลังใช้ Docker Machine บน Mac หรือ Windows Docker daemon ของคุณจะมีการ จำกัด การเข้าถึงระบบไฟล์ OS X หรือ Windows ของคุณเท่านั้น เครื่องนักเทียบท่าพยายามแบ่งปันไดเร็กทอรี / Users (OS X) หรือ C: \ Users (Windows) ของคุณโดยอัตโนมัติ ดังนั้นคุณสามารถติดตั้งไฟล์หรือไดเรกทอรีบน OS X ได้โดยใช้

บน Windows เมานต์ไดเร็กทอรีโดยใช้:

นักเทียบท่าวิ่ง -v / c / Users / [path]: / [path 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 บน guest / container มีอยู่แล้วซึ่งจำเป็นต้องใช้ตามเอกสารของนักเทียบท่า

คำสั่งนั้นดูถูกต้องสำหรับฉันตามเอกสาร

ป้อนคำอธิบายรูปภาพที่นี่

(การติดตั้งไดรฟ์ข้อมูลจากโฮสต์ Mac OS X ไปยังคอนเทนเนอร์ docker 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

แต่ฉันก็ได้รับปัญหาเช่นกัน

ป้อนคำอธิบายรูปภาพที่นี่

หัวข้อที่เกี่ยวข้องในที่สุด:

คำตอบ:


23

บน Windows ต้องระบุพา ธ โดยใช้ซีแมนทิกส์สไตล์ Windows คุณไม่ควรใช้สแลชนำหน้าทางเดิน

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

สิ่งนี้ไม่ทำงานหากคุณสร้างโฟลเดอร์ด้วยคำสั่งคัดลอกหรือเพิ่ม
Steve Coleman

โฮสต์ dir สามารถเป็นญาติ "./" และแขกภายในระบบปฏิบัติการอาจเป็นประเภทของลินุกซ์ของระบบปฏิบัติการดังนั้นเส้นทางของลินุกซ์ปกติ "/ a / b / c /" เช่นในนักเทียบท่าเขียนวิธีนี้ `ปริมาณ: - ./:/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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.