使用 docker-machine 在 Ubuntu 上将本地文件夹挂载为空

使用 docker-machine 在 Ubuntu 上将本地文件夹挂载为空

在 Ubuntu 上运行 docker-machine,使用docker run -v选项挂载本地文件夹,Docker 容器中的文件夹是空的。

答案1

看来 docker-machine 默认安装了我的/home本地/hosthome

另外,使用-v--volume选项docker run与选项有区别--mount:如果本地文件夹不存在,则自动创建。

这就是为什么在调用时docker run -v /home/a/b/c:/xxx,首先在虚拟机内部的路径下创建一个空文件夹/home/a/b/c,然后将其挂载到路径下的容器中/xxx

第一个要点是停止使用-voption 并开始使用--mountdocker run --mount type=bind,source=/home/a/b/c,target=/xxx。在这种情况下,命令将快速失败由于虚拟机中不存在源路径,因此出现错误。

第二步是从虚拟机中删除默认共享文件夹(我的驱动程序是virtualbox),并将其替换为具有匹配路径的正确文件夹。在停止的虚拟机上执行以下操作:

docker-machine stop
vboxmanage sharedfolder remove default --name hosthome
vboxmanage sharedfolder add default --name $HOME --hostpath $HOME --automount
docker-machine start

相关内容