我们使用 Vagrant 进行开发环境自动化和配置。它工作顺利。但有时,如果 vagrant 有一些问题(从 SSH 到网络配置,我们遇到了很多问题),加入我们并且应该只是启动机器并开始工作的新开发人员很难应付. 所以我只是想知道,是不是有一些更简单的方法(比如有一个像 VirtualBox 这样的 GUI 来启动和结束一个 env)来管理这些虚拟环境?
也许我的问题应该是,除了 Vagrant 之外,该领域的最佳实践是什么?
8 回答
Vagrant 使用 virtualbox 作为虚拟化层,因此您可以使用 gui 启动一个 vagrant vm。将以下内容添加到您的 VagrantFile 中。
config.vm.boot_mode = :gui
还可以看看sahara,因为它可以让您将其视为具有快速回滚等功能的沙盒。
我会在这里回应其他评论。如果您已经有一个可以顺利运行的设置,请确保您让每个人都使用相同版本的 VirtualBox、Vagrant 和 basebox。
至于 UI 和更多分发选项,您可能会发现 Wanton 感兴趣:https ://github.com/maestrodev/wanton
配置在 v1.1 中更新为 GUI 模式:
config.vm.provider "virtualbox" do |v|
v.gui = true
end
来自:http ://docs.vagrantup.com/v2/virtualbox/configuration.html
除此之外,我对新版本非常满意,我会试一试
我不确定是否有替代方案。Vagrant 是一个相对较新的软件。当 VM 上的 virtualbox 插件版本与主机上的 Virtualbox 版本不同时,Vagrant 上的 ssh 问题似乎出现了,我不确定除了重新安装正确的版本之外是否有解决方案。
编辑virtualbox 插件被命名为 VirtualBox Guest Additions
将“config.ssh.forward_x11 = true”添加到您的 Vagrantfile 中,您就可以轻松使用 X-Windows。
nix
包管理器真的值得一试:http: //nixos.org/nix
它提供了 command nix-shell
,它基于 file 启动一个 shell shell.nix
,它对应Vagrantfile
于 nix-world 中的 。然而,与 Vagrant 相比,它不涉及昂贵的虚拟化。使魔术发生的是使用构建输入的加密哈希进行包管理的功能方法。
我过去使用过 vagrant,我也改用了纯 docker 解决方案,因为它太重/难以设置/启动太慢(这是我个人的观点)。我通常使用 docker compose 构建文件,当我不想手动执行时,我使用 stakkr(用 python 制作的轻量级包装器:https ://github.com/edyan/stakkr )。
干杯
如果您不介意配置开销https://www.docker.com/ ,您可以使用 Docker