2015-06-02 12 views
5

Tôi đang làm việc phát triển phía máy chủ và không gian làm việc của tôi nằm ở D: vì tôi không phải là người hâm mộ lưu trữ dữ liệu trên C: nhưng không thể tìm thấy cách để ánh xạ d: \ Workspace tới/home/workspaceLàm cách nào để ánh xạ âm lượng bên ngoài C: Users thành vùng chứa trên Windows?

tôi đã cố gắng tạo ra một symblink từ C: \ Users \ username đến D: \ Workspace bởi:

  1. đồ C: \ Users \ username \ Workspace đến/home/workspace
  2. Dừng chứa
  3. đổi tên C: \ Users \ username \ Workspace
  4. Tạo liên kết tượng trưng có tên Không gian làm việc thành D : \ Workspace
  5. Bắt đầu chứa

Tại Docker đầu tiên làm việc tốt trong phiên đó cho đến khi tôi khởi động lại Boot2Docker, sau đó bắt đầu container Tôi muốn nhận được "C: \ Users \ username tập tin \ Workspace tồn tại".

Tôi nghĩ rằng đây là vấn đề của một Docker nhưng dù sao tôi muốn ánh xạ bên ngoài C: \ Users.

Trả lời

5
  • Chia sẻ không gian làm việc giữa máy chủ và máy ảo Boot2Docker $ boot2docker down $ cd "C:\Program Files\Oracle\VirtualBox" $ VBoxManage sharedfolder add boot2docker-vm --name mydata --hostpath "D:\Workspace" $ boot2docker up

  • Núi chia sẻ thư mục $ boot2docker ssh 'sudo mkdir -p /data' $ boot2docker ssh 'sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data'

  • Tạo chứa dữ liệu duy nhất. Các phương pháp hay nhất về Docker alwaysrecommends bạn sử dụng các vùng chứa chỉ dữ liệu. Bạn có thể tái sử dụng đồ chứa dữ liệu chỉ đã có sẵn: $ docker run --volume /data:/data --name mydata dylanlindgren/docker-laravel-data

  • Nếu bạn muốn thay đổi này là vĩnh viễn, bạn cần phải thêm lệnh cuối cùng trong tập tin cấu hình khởi động /var/lib/boot2docker/bootlocal.sh sleep 10 && sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data docker start mydata

Sau đó, bạn sẽ có không gian làm việc của bạn gắn ở/data

bạn có thể tìm tài liệu thêm về VirtualBox Guest Additions trong Boot2Docker here.

+0

Tôi đã nhận lỗi này : mount.vboxsf: gắn lỗi với lỗi: Lỗi giao thức gắn kết: gắn mydata vào/dữ liệu không thành công: Lỗi giao thức – deathemperor

+1

Tôi thêm bước đầu tiên về việc tạo vùng chứa chỉ dữ liệu. Tôi bỏ qua bước đó trong câu trả lời trước. – dmoreno

+0

Tránh "Lỗi giao thức", thử lại lệnh VBoxManage. Đảm bảo lệnh này chạy mà không có lỗi. – dmoreno

4

Đã cập nhật câu trả lời ngay bây giờ, vì boot2docker đã không được chấp nhận. Điều tương tự cũng đã đạt được với docker-machine.

Câu trả lời được mô tả ở đây: https://github.com/docker/machine/issues/1814

Về cơ bản, sau khi mount các thư mục chia sẻ trong Box UI ảo, bạn cần phải chạy các lệnh sau tại dấu nhắc lệnh:

# Note the extra/at the beginning of the path because of msys/MinGW. 
docker-machine.exe ssh default 'sudo mkdir --parents //e/Documents/workspace' 
docker-machine.exe ssh default 'sudo mount -t vboxsf e/Documents/workspace //e/Documents/workspace' 
+0

Theo quy tắc StackOverflow, bạn không chỉ nên cung cấp các bước để hoàn thành nhiệm vụ trong tầm tay, mà còn giải thích từng dòng và tại sao bạn yêu cầu họ làm điều đó. Câu trả lời tồi, 5/10 –

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