有Docker的stream浪者多机器试图创build两个boot2docker虚拟机

我想build立一个由两个Docker容器组成的小环境。 我为他们准备了Dockerfiles,并使用Docker本身,他们正确地旋转起来。 但是,当我想在OSX上使用Vagrant时,vagrant up会创build两个虚拟机,运行到端口冲突,并导致其中一个Docker容器根本不被创build。

这是我使用的Vagrantfile:

Vagrant.configure("2") do |config| config.vm.define "ldap" do |ldap| ldap.vm.provider "docker" do |d| d.build_dir="ldap" d.name="ldap" end end config.vm.define "phpldapadmin" do |pla| pla.vm.provider "docker" do |d| d.build_dir="phpldapadmin" d.link("ldap:ldap") d.ports << "50000:80" end end end 

当我命名容器“phpldapadmin1”和“ldap1”它突然工作。 我试图删除.vagrant和我的〜/ .vagrant.d目录没有运气。 任何人都可以指出我在这里可能会出错吗?

“vagrant up”试图并行地“boost”所有的应用程序,所以每个应用程序都会检查虚拟机是否在运行(它还没有运行),所以每个应用程序都会尝试创build虚拟机。 相反,你必须连续启动第一个容器,其余的可以并行。 我有一个名为start.sh的脚本,基本上这样做:

 #/bin/bash vagrant up an-app # this will start the VM vagrant up other-app1 other-app2 other-app3 # these can startup in parallel since the VM exists