Docker / Windows Container: cách gắn thư mục máy chủ dưới dạng khối lượng dữ liệu trên Windows 2016


17

Làm cách nào để gắn một ổ đĩa từ máy chủ Windows vào hệ thống máy khách Windows?

Tôi đang dùng Windows Server 2016 TP4 bằng Docker.

Theo tài liệu trên https://docs.docker.com/engine/userguide/containers/dockervolume/

Nếu bạn đang sử dụng Docker Machine trên Mac hoặc Windows, trình nền Docker của bạn chỉ có quyền truy cập hạn chế vào hệ thống tệp OS X hoặc Windows của bạn. Docker Machine cố gắng tự động chia sẻ thư mục / Users (OS X) hoặc C: \ Users (Windows) của bạn. Vì vậy, bạn có thể gắn kết các tệp hoặc thư mục trên OS X bằng cách sử dụng.

Trên Windows, gắn kết các thư mục bằng cách sử dụng:

docker chạy -v / c / Users / [path]: / [đường dẫn container] ... `

Tôi đã thử:

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

Điều này cho tôi một lỗi:

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

Tôi cũng đã thử:

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

Lưu ý rằng đường dẫn C: \ meinedaten trên máy khách / container đã tồn tại, được yêu cầu theo tài liệu về docker.

Lệnh có vẻ đúng với tôi theo tài liệu.

nhập mô tả hình ảnh ở đây

(Gắn kết khối lượng từ máy chủ Mac OS X vào thùng chứa Ubuntu docker hoạt động tốt, tôi chỉ gặp vấn đề với Windows.)

Cập nhật

Tôi cũng chỉ cố gắng sử dụng Windows Container tự nhiên (thông qua Powershell), không sử dụng Docker. Tôi làm theo tài liệu trên https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_powershell#create-a-spl-folder .

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

Nhưng tôi cũng đang gặp vấn đề.

nhập mô tả hình ảnh ở đây

Cuối cùng các chủ đề liên quan:

Câu trả lời:


22

Trên Windows, các đường dẫn phải được chỉ định bằng cách sử dụng ngữ nghĩa kiểu Windows. Bạn không nên sử dụng một dấu gạch chéo hàng đầu ở phía trước đường dẫn.

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

Điều này không hoạt động nếu bạn đã tạo các thư mục bằng một bản sao hoặc thêm lệnh.
Steve Coleman

thư mục lưu trữ cũng có thể là tương đối / www / html`
FantomX1

7

Cập nhật kỷ niệm Windows 10 và Windows Server 2016 RTM.

Thêm một khối lượng:

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

Gắn kết một thư mục máy chủ:

docker run -d -v C:\Temp\123:C:\My\Shared\Dir testimage:latest
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.