簡體   English   中英

如何將C:\\ Users外的卷映射到Windows上的容器?

[英]How do I map volume outside C:\Users to container on Windows?

我正在進行服務器端開發,我的工作區位於D:因為我不喜歡在C上存儲數據:但是找不到將d:\\ Workspace映射到/ home / workspace的方法

我嘗試通過以下方式創建從C:\\ Users \\ username到D:\\ Workspace的symblink:

  1. 將C:\\ Users \\ username \\ Workspace映射到/ home / workspace
  2. 停止容器
  3. 重命名C:\\ Users \\ username \\ Workspace
  4. 將名為Workspace的符號鏈接創建到D:\\ Workspace
  5. 啟動容器

起初Docker在該會話期間工作正常,直到我重新啟動Boot2Docker,然后啟動容器我得到“C:\\ Users \\ username \\ Workspace file exists”。

我認為這是一個Docker的問題,但無論如何我想在C:\\ Users之外映射。

  • 在主機和Boot2Docker虛擬機之間共享工作空間$ boot2docker down $ cd "C:\\Program Files\\Oracle\\VirtualBox" $ VBoxManage sharedfolder add boot2docker-vm --name mydata --hostpath "D:\\Workspace" $ boot2docker up

  • 掛載共享文件夾$ boot2docker ssh 'sudo mkdir -p /data' $ boot2docker ssh 'sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data'

  • 創建僅數據容器。 Docker最佳實踐始終 建議您使用僅數據容器。 您可以重用已經可用的僅數據容器: $ docker run --volume /data:/data --name mydata dylanlindgren/docker-laravel-data

  • 如果您希望此更改是永久性的,則需要在啟動配置文件/var/lib/boot2docker/bootlocal.sh中添加最后一個命令sleep 10 && sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data docker start mydata

然后,您將工作空間安裝在/ data

您可以在此處找到有關Boot2Docker中VirtualBox Guest Additions的更多文檔。

暫時更新了答案,因為boot2docker已被棄用。 現在用docker-machine實現了同樣的目的。

答案在這里描述: https//github.com/docker/machine/issues/1814

基本上,在Virtual Box UI中安裝共享文件夾之后,需要在命令提示符中運行以下命令:

# 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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM