[英]How do I map volume outside C:\Users to container on Windows?
我正在進行服務器端開發,我的工作區位於D:因為我不喜歡在C上存儲數據:但是找不到將d:\\ Workspace映射到/ home / workspace的方法
我嘗試通過以下方式創建從C:\\ Users \\ username到D:\\ Workspace的symblink:
起初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.