Vagrant 和 Docker nfs 失败:错误的文件描述符
Vagrant and Docker nfs failed: Bad file descriptor
经过大量审查,尝试在 Vagrant 中使用 rsync,并以 Docker 作为提供程序。 (双向同步)
我继续使用 nfs 在 VM boot2docker
中同步我的文件
我在 vagrant up
之后收到了这个 vagrant 错误消息
dockerhost: Mounting NFS shared folders...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
mount -o 'vers=3,udp' 192.168.50.1:'/Users/myMac/workspace/docker-vagrant/test' /project
Stdout from the command:
Stderr from the command:
mount: RPC: Unable to receive; errno = No route to host
mount: mounting 192.168.50.1:/Users/myMac/workspace/docker-vagrant/test on /project failed: Bad file descriptor
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "dduportal/boot2docker"
config.vm.define "dockerhost"
config.vm.network "forwarded_port", guest: 8000, host: 8000
config.vm.network "private_network", ip: "192.168.50.4"
config.vm.synced_folder "../", "/project", type: "nfs"
...
我的 mac 已经有了 nfs,因为使用 nfsd start
启动了服务
在 Vagrant 文档中建议使用 rsync,但我没有找到从虚拟机 rsync 到我的 MAC 的方法,反之亦然。
我正在使用
- Mac Yosemite
- Vagrant 1.8.1
- VM dduportal/boot2docker
我直接在 dduportal/boot2docker 项目上发布了我的问题。
如果您的自定义 Docker 主机位于不同的目录中,那么这是正确的配置。
config.vm.synced_folder "../", "/vagrant", type: "nfs", mount_options: ["nolock", "vers=3", "udp"], id: "nfs-sync"
参考:
https://github.com/dduportal/boot2docker-vagrant-box/issues/48
经过大量审查,尝试在 Vagrant 中使用 rsync,并以 Docker 作为提供程序。 (双向同步) 我继续使用 nfs 在 VM boot2docker
中同步我的文件我在 vagrant up
dockerhost: Mounting NFS shared folders...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
mount -o 'vers=3,udp' 192.168.50.1:'/Users/myMac/workspace/docker-vagrant/test' /project
Stdout from the command:
Stderr from the command:
mount: RPC: Unable to receive; errno = No route to host
mount: mounting 192.168.50.1:/Users/myMac/workspace/docker-vagrant/test on /project failed: Bad file descriptor
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "dduportal/boot2docker"
config.vm.define "dockerhost"
config.vm.network "forwarded_port", guest: 8000, host: 8000
config.vm.network "private_network", ip: "192.168.50.4"
config.vm.synced_folder "../", "/project", type: "nfs"
...
我的 mac 已经有了 nfs,因为使用 nfsd start
在 Vagrant 文档中建议使用 rsync,但我没有找到从虚拟机 rsync 到我的 MAC 的方法,反之亦然。
我正在使用
- Mac Yosemite
- Vagrant 1.8.1
- VM dduportal/boot2docker
我直接在 dduportal/boot2docker 项目上发布了我的问题。
如果您的自定义 Docker 主机位于不同的目录中,那么这是正确的配置。
config.vm.synced_folder "../", "/vagrant", type: "nfs", mount_options: ["nolock", "vers=3", "udp"], id: "nfs-sync"
参考: https://github.com/dduportal/boot2docker-vagrant-box/issues/48