Hi lets say I have 4 machines defined in my Vagrantfile (this is just example),
Vagrant.configure(2) do |config|
config.vm.define "elasticsearch" do |a|
a.vm.provider "docker" do |docker|
docker.name = 'elasticsearch'
docker.build_dir = ".docker/elasticsearch"
end
end
config.vm.define "elasticsearch-test" do |a|
a.vm.provider "docker" do |docker|
docker.name = 'elasticsearch-test'
docker.build_dir = ".docker/elasticsearch"
end
end
config.vm.define "mongodb" do |a|
a.vm.provider "docker" do |docker|
docker.name = 'mongodb'
docker.image = "mongo:3.0"
end
end
config.vm.define "mongodb-test" do |a|
a.vm.provider "docker" do |docker|
docker.name = 'mongodb-test'
docker.image = "mongo:3.0"
end
end
end
and I want to group elasticsearch
and mongodb
as "dev env"
and then I want to group elasticsearch-test
and mongodb-test
as "test env"
then I want to be able to run a single command to bring up the env I want to work with now. e. g.:
vagrant up "dev env"
How do I do this? I could not find anything about such thing in vagrant docs. How would you approach this problem? Should I create a different Vagrantfile in some subdirectory of the project and do define only machines per environment?