相关疑难解决方法(0)

如何在没有实际运行"vagrant ssh"的情况下ssh到vagrant?

我想重现Vagrant如何使用ssh命令在shell脚本中记录到我的VM的方式,因此我为我的Vagrant实例创建了一个别名.

使用常规ssh命令访问它的命令语法是什么?

ssh shell command-line vagrant

142
推荐指数
10
解决办法
6万
查看次数

如何将Vagrant项目目录与现有VirtualBox VM关联?

不知怎的,我的Vagrant项目已经解除了与VirtualBox虚拟机的关联,所以当我vagrant upVagrant将导入基础框并创建一个新的虚拟机时.

有没有办法将Vagrant项目与现有VM重新关联?Vagrant如何在内部将Vagrantfile与VirtualBox VM目录相关联?

virtualbox vagrant

130
推荐指数
8
解决办法
6万
查看次数

使用Vagrant来管理开发和生产环境?

人们如何处理具有流浪者的dev/prod环境的简单自动化(使用puppet)(理想情况下来自同一个vagrantfile)?

我试图解决的用例

  • 如果没有创建,我会喜欢用vagrant旋转生产机器.
  • 如果他们在我的开发环境的puppet文件中进行了调整,我很乐意用vagrant重新加载nginx或apache confs.

问题

当您使用AWS或Digital Ocean等提供商调用vagrant时,它将成为活动提供者,您无法切换.你收到这个错误:

找到了与不同提供商的活动计算机.Vagrant目前允许每台机器一次只有一个提供商.未来版本将删除此限制.在此之前,请使用新的提供商销毁现有机器.

它似乎是破坏它的答案,但我只需要切换.我不想破坏.

我很乐意能说

vagrant up prod
Run Code Online (Sandbox Code Playgroud)

要么

vagrant reload prod
Run Code Online (Sandbox Code Playgroud)

然后一个简单的流浪汉将回落到默认机器.

这种语法类似于多台机器的工作方式,但是当我只调用vagrant up时,我不想启动开发和生产环境(这是默认行为).

作为工作流程的一部分,我应该关注打包机吗?我在2013年的puppetconf上观看了Mitchell关于Multi-Provider的演讲http://puppetlabs.com/presentations/multi-provider-vagrant-aws-vmware-and-more

我仍然没有看到我的问题的解决方案.


更新9/27/13

如果其他人正在反对这个想法,这篇文章清理了我的很多问题. http://pretengineer.com/post/packer-vagrant-infra

puppet vagrant

14
推荐指数
1
解决办法
4428
查看次数

Vagrant错误 - 名称已存在的VirtualBox计算机

我想使用ubuntu/xenial64box为两个单独的项目创建两个单独的VM.我在两个单独的项目目录中定义了Vagrantfile,并将行添加config.vm.box = "ubuntu/xenial64"到每个目录中.

第一个盒子成功启动.但是当我vagrant up为第二个项目做的时候,我得到了错误

A VirtualBox machine with the name 'ubuntu-xenial-16.04-cloudimg' already exists.
Run Code Online (Sandbox Code Playgroud)

在Vagrant的文档中,它写得很清楚

为当前用户全局存储框.每个项目都使用一个框作为初始图像进行克隆,并且永远不会修改实际的基本图像.这意味着如果您有两个项目都使用我们刚添加的hashicorp/precise64框,则在一台客户机中添加文件对其他机器没有影响.

为什么我会收到此错误?

我已经检查了其他类似的问题,但我不理解他们删除看似具有相同名称的现有虚拟机的解决方案.根据上面的Vagrant文​​档引用,这不应该是必要的.我错过了什么吗?

virtualbox vagrant

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

在Ansible中设置Vagrant VM的主机名

为了测试Ansible,我已经建立了一个流浪VM可与被提供vagrant provision,给予

config.vm.provision "ansible" do |ansible|
  ansible.playbook = "site.yml"
end
Run Code Online (Sandbox Code Playgroud)

Vagrantfile.当我设置hostsall,这工作,

- hosts: all
  sudo: true
  roles:
    - common
    - ssl
    - webserver
Run Code Online (Sandbox Code Playgroud)

或者,文件

.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
Run Code Online (Sandbox Code Playgroud)

这是由Vagrant自己说的

default ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222
Run Code Online (Sandbox Code Playgroud)

意思是Vagrant VM的名称是 default.因此,

- hosts: default
Run Code Online (Sandbox Code Playgroud)

也做我想要的.但是,我想为VM设置一个更具体的名称(例如vagrant,像).

有没有办法将该名称更改为其他名称?

vagrant ansible vagrantfile

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

用于安装 Android SDK 的 Ansible-playbook

如何使用ansible-playbook安装Android SDK?

我需要配置 Jenkins 安装 playbook 并让 Ansible 配置 Jenkins 以与 Android 集成

所以,我有 Vagrantfile:

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

IP = "192.168.33.55"
VM_NAME = "jenkins"

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "geerlingguy/ubuntu1604" #target OS: Ubuntu 16.04
  config.ssh.insert_key = false
  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.ssh.forward_agent = true

  config.vm.provider :virtualbox do |v|
    v.name = VM_NAME
    v.memory = 1024
    v.cpus = 2
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    v.customize ["modifyvm", :id, "--ioapic", "on"]
  end

  config.vm.hostname …
Run Code Online (Sandbox Code Playgroud)

android jenkins vagrant android-sdk-tools ansible

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