首页 > 解决方案 > Vagrant-Azure:来宾机器无法连接到主机(无法复制 SMB 文件)

问题描述

到目前为止,我一直只在本地处理 Vagrant,现在我想用 Azure 作为提供者创建 VM,但不幸的是,我遇到了可以通过链接访问的图像上看到的错误。我明白它说什么,但我完全不知道如何解决它。 错误

我还附加了我的 Vagrantfile:

require 'vagrant-azure'
Vagrant.configure("2") do |config|
  config.vm.box = 'azure'
  config.vm.box_url = 'https://github.com/azure/vagrant-azure/raw/master/dummy.box'

  config.vm.network "private_network", guest: 80, host: 80

  config.ssh.username = 'vagrant'
  config.ssh.private_key_path = '~/.ssh/id_rsa'

  config.vm.synced_folder '.', '/vagrant', :disabled => true

  config.vm.provider :azure do |azure, override|
    azure.tenant_id = ****
    azure.client_id = ****
    azure.client_secret = ****
    azure.subscription_id = ****

    azure.tcp_endpoints = '80'

    azure.vm_name = 'grafmuvivm'
    azure.vm_size = 'Standard_B1s'
    azure.vm_image_urn = 'Canonical:UbuntuServer:18.04-LTS:latest'
    azure.resource_group_name = 'grafmuvirg'
    azure.location = 'westeurope'
    virtual_network_name = 'grafmuvivm-vagrantPublicIP'
  end

  # Declare where chef repository path
  chef_repo_path = "./chef"

  # Provisioning Chef-Zero
  config.vm.provision :chef_zero do |chef|
    # Added necessary chef attributes
    chef.cookbooks_path = 'chef/cookbooks'
    chef.nodes_path = 'chef/cookbooks'

    #### Adding recipes ####
    chef.add_recipe "api::ssh_user"
    chef.add_recipe "api::grafmuvi"

    # Running recipes
    chef.run_list = [
      'recipe[api::ssh_user]',
      'recipe[api::grafmuvi]'
    ]
    # Accept chef license
    chef.arguments = "--chef-license accept"
  end
end

如果我运行'vagrant up --debug',可以看到来宾机器无法ping任何主机IP。

有人可以告诉我如何在 Vagrant 上正确设置网络吗?我已经检查了与该主题相关的 GitHub 问题,但没有发现任何有用的...

编辑:

运行“流浪者提供”

标签: azurevagrantvagrantfilevagrant-plugin

解决方案


我与 Vagrant 一起工作,但没有与 Vagrant-azure 一起工作。但是,您可以通过以下方式更改配置并显示输出:

        azure.vm.network "private_network", ip: "192.168.50.10"

推荐阅读