Я пытаюсь настроить Vagrant и Hyper-V, и это почти сделано, но общий доступ к папкам не удается, потому что я отказываюсь использовать SMB и вместо этого я хочу использовать vagrant-sshfs. Известно, что в системе Windows требуется sftp-server который обычно предоставляется OpenSSH, и по этой причине я следовал этой инструкции для установки OpenSSH в Windows 10.

Вот так выглядит мой Vagrantfile :

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network :forwarded_port, host: 8080, guest: 80
  config.vm.network "private_network", ip: "192.168.50.4"
  config.vm.synced_folder "../../applications", "/var/www", type: "sshfs", , sshfs_opts_append: "-o cache=no"

  config.vm.provider :hyperv do |vb|
    vb.memory = "2048"
    vb.vmname = "centos7"
  end
end

Когда я запустил команду vagrant up я получил следующее:

λ vagrant up
Bringing machine 'default' up with 'hyperv' provider...
==> default: Verifying Hyper-V is enabled...
==> default: Verifying Hyper-V is accessible...
    default: Configuring the VM...
==> default: Starting the machine...
==> default: Waiting for the machine to report its IP address...
    default: Timeout: 120 seconds
    default: IP: 192.168.0.103
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 192.168.0.103:22
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Mounting SSHFS shared folder...
==> default: Mounting folder via SSHFS: E:/Development/applications => /var/www/html
==> default: Checking Mount..
==> default: Checking Mount..
==> default: Checking Mount..
==> default: Checking Mount..
==> default: Checking Mount..
==> default: Checking Mount..
==> default: Checking Mount..
Mounting SSHFS shared folder via slave SSHFS mount failed. Please
look at the below STDERR output from the processes that were run.

SSH command:

Warning: Permanently added '192.168.0.103' (ECDSA) to the list of known hosts.
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option


SFTP command:

Может ли помочь мне настроить это правильно? Почему я здесь скучаю?

1 ответ1

0

Хотя сейчас я не могу проверить это на Win10, у меня была похожая проблема с Ubuntu 18.4 при использовании VirtualBox на хосте MacOS. Сообщение об ошибке в любом случае связано с SSHFS .

Добавление опции «непустой» в sshfs_opts_append сработало для меня:

config.vm.synced_folder "../../applications", "/var/www", type: "sshfs", sshfs_opts_append: "-o nonempty -o cache=no"

При попытке вашей конфигурации, похоже, была лишняя запятая - мне пришлось ее удалить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .