2016-03-17 19 views
6

Hiện tại đang sử dụng Boot2Docker trên Windows, có thể mount root vào máy chủ không? Giả sử tôi đang sử dụng hình ảnh Ubuntu và tôi muốn gắn / cho máy chủ lưu trữ, tôi có thể làm như thế nào?Mount Volume to Host

Tôi đã tìm kiếm xung quanh và cố gắng:

docker run -v /c/Users/ubuntu:/ --name ubuntu -dt ubuntu

nhưng kết thúc với lỗi:

docker: Error response from daemon: Invalid bind mount spec "/c/Users/ubuntu:/": volumeslash: Invalid specification: destination can't be '/' in '/c/Users/Leon/ubuntu:/'.

Trả lời

3

Nếu tôi hiểu đúng, bạn đang cố gắng để gắn kết gốc bên trong thùng chứa như một khối lượng? Nếu đúng như vậy, thay vào đó hãy tạo thư mục mới bên trong và hiển thị thư mục đó.

Ví dụ dockerfile:

RUN mkdir /something 
VOLUME /something 

Như tài liệu Docker nói, container-dir phải lúc nào cũng là một đường dẫn tuyệt đối như/src/docs. Host-dir có thể là một đường dẫn tuyệt đối hoặc một giá trị tên.

Để biết thêm thông tin, hãy đọc: https://docs.docker.com/engine/userguide/containers/dockervolumes/#mount-a-host-directory-as-a-data-volume và phần "Gắn kết thư mục lưu trữ dưới dạng ổ đĩa dữ liệu" sẽ giúp bạn hiểu rõ hơn.

+1

Điều tôi đang cố gắng đạt được thực sự là phơi bày tất cả các tệp từ vùng chứa/đường dẫn đến Máy chủ, có thể không? Tôi biết để gắn kết một thư mục duy nhất nhưng đó không thực sự là những gì tôi muốn. – Leon

+0

Không, điều đó là không thể ... vùng chứa có một số tệp không thể hiển thị khi bạn không có quyền truy cập root bên trong vùng chứa. – Prototype

+0

hmm tôi đoán đây là một câu hỏi xấu: \ i muốn phơi bày tất cả các tệp để lưu trữ để tôi có thể chỉnh sửa chúng dễ dàng bằng cách sử dụng IDE hoặc các công cụ như vậy .. Tôi đoán là tôi sẽ đặt các thư mục sau đó – Leon

2

Đó là vấn đề với cách bạn chỉ định đường dẫn. Xem ví dụ về lắp khối lượng địa phương được sử dụng bởi bình chứa để Mongo db:

Docker chạy --name chứa tên -v /Users/SKausha3/Mongo/imageservicedb/dữ liệu:/dữ liệu -v /Users/SKausha3/Mongo/imageservicedb/backup:/sao lưu

c:/Users/SKausha3/Mongo/imageservicedb/dữ liệu là thư mục địa phương của tôi nhưng bạn phải xóa 'c:' từ con đường.

Các vấn đề liên quan