标签: vagrant

Vagrant - 与来宾共享主机 VPN

所以我有一个用于 VPN 连接的接口 ( jnc0),还有一个通过另一个单独的接口 ( vboxnet1)与我的机器对话的流浪客机。我的主机操作系统是 OS X Mountain Lion,而 Vagrant (VM) 来宾操作系统是 CentOS 6.3。

我如何设置一些东西,以便 CentOS 来宾能够通过我的 OS X 主机与 VPN 另一端的主机通信?

networking vpn virtualbox vagrant

9
推荐指数
1
解决办法
5444
查看次数

vagrant 无法使用 libvirt 创建框

我正在尝试使用以下 Vagrantfile 设置一个带有 vagrant 和 libvirt 的框

Vagrant.configure("2") do |config|
  config.vm.define :test_vm do |test_vm|
    test_vm.vm.box = "test"
    test_vm.vm.network :private_network, :ip => '10.20.30.40'
  end

  config.vm.provider :libvirt do |libvirt|
    libvirt.driver = "qemu"
    libvirt.host = "localhost"
    libvirt.connect_via_ssh = false
    libvirt.username = "root"
    libvirt.storage_pool_name = "data"
  end
end
Run Code Online (Sandbox Code Playgroud)

在 RHEL 6.4 上,我收到以下错误

Error while connecting to libvirt: Error making a connection to libvirt URI qemu://localhost/system?no_verify=1:
Call to virConnectOpen failed: Unable to import client certificate /etc/pki/CA/cacert.pem
Run Code Online (Sandbox Code Playgroud)

我试图像这里描述的那样设置证书http://libvirt.org/remote.html#Remote_TLS_CA但这并没有改变任何东西。

如果我尝试通过 ssh 连接 vagrant 能够缓慢上传盒子,但之后我会遇到下一次失败

Call …
Run Code Online (Sandbox Code Playgroud)

linux qemu linux-kvm vagrant

9
推荐指数
2
解决办法
2万
查看次数

如何在 Vagrant 和 VirtualBox 中使用 ipv6?

我有一个在 VirtualBox 中运行 Ubuntu 的 Vagrant 设置。我正在尝试创建一个可以从主机访问的公共虚拟网络接口。我用 ipv4 做这个没有问题。使用 ipv6 我将界面设置为:

guest$ ip link add derpcraft link eth1 type macvlan mode bridge;    
guest$ ip -6 addr add fdfe:dcba:9876:ffff::/64 dev derpcraft
guest$ ip link set derpcraft up
Run Code Online (Sandbox Code Playgroud)

界面看起来像:

        derpcraft Link encap:Ethernet  HWaddr 26:22:d5:54:95:00  
                  inet6 addr: fe80::2422:d5ff:fe54:9500/64 Scope:Link
                  inet6 addr: fdfe:dcba:9876:ffff::/64 Scope:Global
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                  RX packets:264 errors:0 dropped:0 overruns:0 frame:0
                  TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
                  collisions:0 txqueuelen:0 
                  RX bytes:52989 (52.9 KB)  TX bytes:2040 (2.0 KB)
Run Code Online (Sandbox Code Playgroud)

从主机上,我似乎无法在接口上 ping …

networking virtualbox ipv6 vagrant

9
推荐指数
1
解决办法
4897
查看次数

在 Windows 10 上的 (ubuntu) vagrant box 中运行 docker

我最近刚接触 Docker,我对其工作原理的了解非常有限,目前我在决定采用哪种方式时受到时间的限制。

  • 正在运行 Windows 10 Home,无法安装 Docker for Windows,安装了 Docker Toolbox 但无法轻松启动和运行
  • 升级到 Windows 10 专业版。为 Windows 安装了 Docker。几个小时后,我似乎有了一些工作。启用 Hyper-V 意味着我的旧机器(使用 Virtualbox)不再工作。Docker 似乎没有任何网络(互联网)连接。暂时放弃,禁用Hyper-V,回到流浪者

我一直在想,我可以设置一个 vagrant box,或者只是一个 Ubuntu VM,使用 Virtualbox,然后让 Docker 启动并运行。

这是为了处理 PHP7/Nginx/Laravel 应用程序

我的问题是 - 这可以正常工作吗?会不会有性能问题?我在 Ubuntu 上的经验是,让这些类型的东西(例如 Docker)比在 Windows 上工作要简单得多。

此外,我可以在预先存在的 vagrant box 中寻找什么,这将使我能够尽快使用 Docker(在 vagrant box 上运行)进行设置?

谢谢!

vagrant docker windows-10

8
推荐指数
1
解决办法
3635
查看次数

从 Vagrant 启动虚拟机时,如何重新定位或禁用 VirtualBox 日志文件?

当我vagrant up使用 VirtualBox 作为提供程序运行时,它会创建一个ubuntu-xenial-16.04-cloudimg-console.log在项目根目录中调用的日志文件。这给 PHPStorm 带来了困难,因为它没有从搜索中排除单个文件的选项,只有文件夹。

我想在_log目录中创建这个日志文件,但我找不到如何配置它的位置;Vagrantfile 文档中似乎没有任何内容,而且我在 VirtualBox GUI 中找不到任何选项。

我还尝试将文件符号链接到 /dev/null,但是如果链接存在,VirtualBox 甚至拒绝启动。我不能在 VM 启动时简单地删除该文件,因为它锁定了它。

简化版Vagrantfile如下:

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

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"

  config.disksize.size = "10GB"

  config.vm.network "forwarded_port", guest: 80, host: 80, host_ip: "127.0.0.1"
  config.vm.network "forwarded_port", guest: 3306, host: 3306, host_ip: "127.0.0.1"

  config.vm.synced_folder ".", "/var/www/html"

  config.vm.provider "virtualbox" do |vb|
    vb.gui = false
    vb.memory = "2048"
  end

  config.vm.provision "shell", inline: <<-SHELL
    # redacted …
Run Code Online (Sandbox Code Playgroud)

virtualbox vagrant

8
推荐指数
1
解决办法
2240
查看次数

HyperV - 带有 Vagrant 的静态 IP

我正在将 Laravel Homestead 与 Vagrant 一起使用,我认为使用 Hyper-V 而不是 Virtual Box 会更有意义,因为它与 Windows 集成在一起。

这是我的问题。我的 Hyper-v 虚拟机时不时会获得一个新 IP,通常是 172.20.83.X。当我分配 ips 来测试域时,这会弄乱我的主机文件。因此,每次我的 hyper-v 服务器获得新 ip 时,我都必须重新输入新 ip,这很快变得非常乏味。

我想知道是否有办法将 ip 设置为在我的机器上始终相同。

我尝试修改服务器的虚拟交换机管理器,但最终失去了完整的互联网。

networking hyper-v vagrant

8
推荐指数
1
解决办法
6602
查看次数

通过端口转发连接到 Virtualbox 内的 postgresql 失败

我在 vagrant 创建的虚拟机中有一个 postgresql 服务器。

我还通过 Vagrant 文件设置了从盒子内的 5432 到主机系统上的 15432 的端口转发。

通过连接时 psql

$ psql dbname username -h 127.0.0.1 -p 15432

psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Run Code Online (Sandbox Code Playgroud)

服务器和客户端都运行 Ubuntu 12.04(postgresql-9.1,版本:9.1+129ubuntu1)

在虚拟机内部连接到端口 5432 工作正常。

自行转发的端口似乎并没有完全出错,因为当我尝试到另一个端口时,我得到“连接被拒绝”)

virtualbox postgresql vagrant

7
推荐指数
1
解决办法
6919
查看次数

在 VagrantFile 更改后,Vagrant VirtualBox VM 正在初始化新的而不是加载现有的 VM

我在 Windows 上设置了一个 Vagrant Ubuntu 12.04 盒子(VirtualBox 作为提供者),并且在过去几个月里一直运行良好。昨天,我又增加了转发端口到VagrantFile,做vagrant haltvagrant up。登录后,我安装的任何程序都不在那里(which git什么也没显示)。

我可以通过 VirtualBox gui 手动启动 VM,一切正常,所以我知道它在那里并且可以正常工作。我在这个相关的 stackoverflow 问题中尝试了解决方案,但vagrant up仍然没有启动现有的虚拟机。

这是我的 Vagrant VM 的 VirtualBox 日志:http : //paste.ubuntu.com/6460060/

不知道还有什么地方可以看。有没有办法强制 vagrant 加载现有的 VM?

编辑:这也是我的 VagrantFile。这是非常标准的,但我想它可能会有所帮助。https://gist.github.com/gorrillamcd/7694989

请记住,在我对 VagrantFile 进行更改之前,机器运行良好。这是唯一在功能性和非功能性之间发生变化的东西。

virtualbox windows-xp ubuntu vagrant

7
推荐指数
1
解决办法
2217
查看次数

真正删除Vagrant机器的所有痕迹

如何删除 Vagrant box 的所有痕迹,而无需手动进入文件系统?

我正在使用 Packer 创建一个自定义框,构建和销毁大量测试用例。完成测试用例后,我运行

vagrant destroy
Run Code Online (Sandbox Code Playgroud)

vagrant help该命令描述为

停止并删除vagrant机器的所有痕迹

世界上一切似乎都很好。然而,当我在全新安装后创建一个新盒子时,我注意到当天的消息说虚拟机是几天前创建的。事实证明,盒子(也)存储在.vagrant.d\boxes. Vagrant 正在使用这些盒子,而不是 Packer 创建的盒子,或者除了 Packer 创建的盒子之外,后者位于完全不同的位置。

vagrant 文档vagrant destroy建议使用vagrant box remove.

现在,目录中仍然有一个框.vagrant.d\boxes。使用vagrant box remove需要一个“名称”。

如果我跑步vagrant box list,它会说

没有安装盒子!用来vagrant box add添加一些。

显然 Vagrant 不知道另一个盒子。然而,如果我运行vagrant global-status,我会得到类似的输出

id       name    provider   state    directory
-------------------------------------------------------------------------
47d1c7c  default virtualbox poweroff C:/some/path
Run Code Online (Sandbox Code Playgroud)

所以,Vagrant可以看到一些盒子。尝试使用vagrant box remove,“name”或“id”引用都不起作用:

C:\some\path>vagrant box remove default
The box you requested …
Run Code Online (Sandbox Code Playgroud)

virtualbox virtual-machine packer vagrant

7
推荐指数
1
解决办法
2万
查看次数

在 Windows 主机上关闭时自动关闭/暂停 Vagrant

我在 Windows 机器上的开发工作流程中使用 vagrant。有时,我忘记在重新启动或关闭 Windows 之前执行vagrant haltsuspend。我读到这可能会破坏您的虚拟机。

当 Win 7 主机关闭时,有没有办法自动挂起或关闭我的流浪虚拟机?

windows-7 vagrant

6
推荐指数
1
解决办法
2185
查看次数