Articles of vagrant

为什么stream浪汉偶尔会忘记已经有一个虚拟机正在运行,当我尝试SSH进入stream浪计算机?

我一直在遇到一个问题,当我尝试SSH到我的stream浪环境,它给了我以下错误到控制台: $ vagrant ssh VM must be created before running this command. Run 'vagrant up' first. 我可以通过打开VirtualBox来validation我的stream浪VM正在运行。 当我运行vagrant status我得到以下 $ vagrant status Current machine states: default note created (virtualbox) 这对我没有任何意义,尤其是因为我可以访问我在该机器上运行的Jenkins安装。 如果我真的尝试运行vagrant up它会尝试创build一个新的虚拟机,并会因端口collisions而失败。 我遇到了其他的post,build议修复涉及删除虚拟机,并在发生这种情况时重新开始,但这不是一个可行的解决scheme。 我不能期望这样做,或者有一个开发团队不断摧毁他们的虚拟机。

npm安装在stream浪的virtualbox上

似乎有很多麻烦搞定这一个,但我试图用vagrant和configuration服务器,使用node / npm安装依赖关系。 我的设置是: Ubuntu 12.04主机(老开发环境) Ubuntu的12.04客人(通过stream浪者创build) 使用shell provisioner来设置我的服务器(php 5.3,apache,mysql) 一切都很好,一切安装,直到我到达npm install命令 在我的情况下,npm安装似乎安装一切(大量terminal输出等)。 configuration脚本中的下一行会grunt someTask ,我得到“grunt command not found”。 所以尽pipenpm install似乎在现实中安装了所有东西,但它却没有。 在研究中,这似乎是一个共享文件夹中的virtualbox和符号链接的问题。 我已经添加: config.vm.provider "virtualbox" do |vb| # Use VBoxManage to customize the VM. For example to change memory: vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"] vb.customize ["modifyvm", :id, "–memory", "1024"] 结束 这似乎没有效果。 我也尝试用–no-bin-links标志安装,似乎没有任何作用。 任何想法如何让npm正确安装我的项目依赖关系? 非常感谢任何input。 编辑: […]

无法使用Vagrant从主机端口通过HTTP访问monit守护进程

我想使用监控来监控我的Ubuntu VM上的服务(精确到32),但是我无法通过主机(本地)机器上的HTTP访问监控守护进程。 我在/ etc / monit / monitrc中启用了以下设置: set httpd port 2812 and use address localhost allow localhost allow vagrant:vagrant_pwd 并已将虚拟机中的端口2812转发给Vagrantfile中的宿主机器,如下所示: config.vm.forward_port 2812, 2812 我已经确认,在虚拟机上运行monit,通过ssh进入虚拟机并运行: sudo /etc/init.d/monit status 并且可以通过运行在VM中使用HTTP访问Monit守护进程 curl -u vagrant:vagrant localhost:2812 但是当我在主机浏览器(firefox)中inputlocalhost:2812时,我没有得到任何回应。 任何想法如何使这项工作?

在OS X Lion上非常缓慢的上传命令

当我在Lion上运行一个新的虚拟机时,需要很长的时间,在这期间,整个Mac都非常迟钝,没有反应。 输出结果如下,关键是“通知:完成目录在754.28秒内运行” > vagrant up [default] Importing base box 'lucid64'… [default] The guest additions on this VM do not match the install version of VirtualBox! This may cause things such as forwarded ports, shared folders, and more to not work properly. If any of those things fail on this machine, please update the guest additions […]

Exim说DNS查询成功了,还说“主机查找没有完成”

我试图发送自动通知电子邮件给我的网站的用户。 这些电子邮件通过自定义守护进程发送给用户,自定义守护进程通过进程4发送它们.Exim的作用就是将邮件转发到与收件人地址关联的邮件服务器。 所有传出的电子邮件必须中继。 没有本地电子邮件,也没有收到邮件。 但是,当我尝试发送电子邮件时,守护进程总是得到以下响应: com.sun.mail.smtp.SMTPAddressFailedException: 451 Temporary local problem – please try later 在/var/log/exim4/mainlog ,我有以下几行 2014-09-09 22:30:50 no host name found for IP address 10.0.2.2 2014-09-09 22:30:50 H=(lotp-lanbox) [10.0.2.2] F=<[email protected]> temporarily rejected RCPT <[email protected]>: host lookup did not complete (请注意,10.0.2.2是安装了发件人守护程序的主机的IP地址。) 这个消息很奇怪,但缺乏细节。 这是另一个我已经启动的debugging命令: user@host:~$ exim4 -bt -d-resolver [email protected] Exim version 4.82 uid=0 gid=0 pid=14035 D=fbb95cfd […]

UWSGI不创build我的套接字

所以,我得到一个错误,因为我的.sock文件不是由uwsgi创build的。 我也与stream浪者一起运行一个VB。 我的uwsgi.ini [uwsgi] master = true pidfile = /tmp/uwsgi-%n.pid workers = 12 enable-threads = true uid = www-data gid = www-data socket = /tmp/uwsgi-my-site.sock chmod-socket = 777 virtualenv = /var/sites/%n/env single-interpreter = true chdir = /var/sites/%n wsgi-file = app/main.py logto = /vagrant/my-site/log/uwsgi.log #stats = 127.0.0.1:1717 和我的nginx.conf server { listen 80; server_name my-site.com; access_log /var/sites/my-site/log/nginx_access.log; […]

Ansible git克隆从私人回购在Stash

对于我的生活,我无法弄清楚为什么我不能从Stash克隆私人回购。 想想我已经试过了: 1)创build' ansible.cfg ' [ssh_connection] ssh_args = -o ForwardAgent=yes 在我的项目目录。 键在主机上工作正常,因为我可以简单地克隆回购。 这就是我如何克隆: – name: Clone the repo git: > repo=ssh://[email protected]:7999/pp/my-private-repo.git accept_hostkey=yes dest=/var/www 我得到“ 主机密钥validation失败。致命:无法读取远程存储库 ” 2)我试图通过vagrant和/或Ansible将我的私钥文件复制到远程机器,并尝试使用key_file=/home/vagrant/.ssh/id_rsa_stash ,但仍然没有运气!

stream浪和傀儡安全的ssl证书

对于stream浪汉来说,我相当陌生,有人对这个(和傀儡)有更多的了解,能够解释一下stream浪testing机器如何处理与实际生产机器相同的节点定义时,stream浪者如何处理ssl证书? 我以主人/客户模式运行木偶,我希望启动我的木偶制作节点的stream浪版本,主要是为了testing新的木偶代码。 如果我的生产机器,比如说sql.domain.com,我启动一个stream浪的机器,比如说sql.vagrant.domain.com。 然后在vagrant文​​件中使用puppet_server提供程序,并给puppet.puppet_node条目“sql.domain.com”以获取相同的puppet节点定义。 在puppet服务器上,我在该节点条目上使用类似于/*.sql.domain.com/的正则expression式,这样stream浪机器和真实的机器都可以在puppet服务器上获得该节点条目。 最后,我在puppet的autosign.conf中为* .vagrant.domain.com启用了自动签名,所以stream浪机器得到了签名。 到现在为止还挺好… 但是,如果我的networking上的一台机器获得了root权限,比如unimportant.domain.com,那么怎样才能阻止攻击者将该机器上的主机名更改为sql.vagrant.domain.com,删除旧的puppet ssl cert,然后使用给定的节点名称sql.domain.com重新运行木偶? 新的ssl证书将由puppet自动签名,匹配节点名正则expression式,然后这个被黑客入侵的节点将得到所有准备用于sql机器的多汁信息?! 我能想到的一个解决scheme是避免自动签名,并将真正的生产机器的已知puppet ssl证书放入vagrant共享目录,然后有一个stream浪ssh作业将其移动到位。 这样做的缺点是我最终得到了每个生产机器上的所有ssl证书,这些证书都坐在一个git repo(我的stream浪回购)中,从而在每个开发人员的机器上 – 这可能是也可能不是问题,但听起来不像正确的做法。 tl; dr :其他人如何处理stream浪汉和傀儡ssl证书用于开发或testing生产机器的克隆?

networking更改后找不到移动专用IP

我有一个简单的Vagrant Ubuntu虚拟机安装使用虚拟盒,在Mac上运行。 我正在使用专用networking,configuration了一个静态私有IP,如下所示: Vagrant.configure("2") do |config| config.vm.network :private_network, ip: "10.11.12.13" end 这工作正常,除了当我在WiFi和我的有线networking之间来回切换。 当我这样做,我似乎无法连接到虚拟机与它的静态IP地址了。 我试过暂停和重新启动虚拟机,甚至破坏和重新创build虚拟机,无济于事。 有没有办法重置networking连接,以便私人IP回来? 我很好直接访问它在VirtualBox,或其他任何。 唯一的办法,我可以使它看起来是现在实际上重新启动我的整个机器。

如何使用shell提供程序上载configuration文件?

除了在客户机上安装emacs之类的应用程序之外,我还想上传一些configuration文件(例如为Clojure开发configurationemacs)。 可悲的是,Vagrant的文档没有提供如何做到这一点的线索。 我想我必须把configuration文件放到共享文件夹中,然后将它们从客机上的共享文件夹复制到所需的位置?