Ниже представлен мой Vagrantfile. Однако вместо создания 1 виртуальной машины RedHat и 2 виртуальных машин Ubuntu, он "vagrant up" создает 3 виртуальных машины Ubuntu.
Может кто-нибудь подскажет почему? Спасибо заранее!
Vagrant.configure("2") do |config|
config.ssh.insert_key = false
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider :virtualbox do |v|
v.memory = 4000
v.linked_clone = false
end
# App server 1
config.vm.box = "geerlingguy/centos7"
config.vm.define "app1" do |app|
app.vm.hostname = "orc-app1.test"
app.vm.network :private_network, ip: "192.168.60.4"
end
# App server 2
config.vm.box = "geerlingguy/ubuntu2004"
config.vm.define "app2" do |app|
app.vm.hostname = "orc-app2.test"
app.vm.network :private_network, ip: "192.168.60.5"
end
# DB server
config.vm.box = "geerlingguy/ubuntu2004"
config.vm.define "db" do |db|
db.vm.hostname = "orc-db.test"
db.vm.network :private_network, ip: "192.168.60.6"
end
end
решение1
Вы настраиваете ящик в неправильном месте и несколько раз перезаписываете ящик по умолчанию, используемый для любого экземпляра. Следующее должно исправить вашу проблему и удовлетворить ваши требования:
Vagrant.configure("2") do |config|
config.ssh.insert_key = false
# These are the defaults applied to all VMs unless overridden
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.box = "geerlingguy/ubuntu2004" # Set as a default box since reused.
config.vm.provider :virtualbox do |v|
v.memory = 4000
v.linked_clone = false
end
# Specific config for App server 1
config.vm.define "app1" do |app|
# Override box for this specific vm
app.vm.box = "geerlingguy/centos7"
app.vm.hostname = "orc-app1.test"
app.vm.network :private_network, ip: "192.168.60.4"
end
# Specific config for App server 2
config.vm.define "app2" do |app|
app.vm.hostname = "orc-app2.test"
app.vm.network :private_network, ip: "192.168.60.5"
end
# Specific config for DB server
config.vm.define "db" do |db|
db.vm.hostname = "orc-db.test"
db.vm.network :private_network, ip: "192.168.60.6"
end
end
Примечание: поскольку у вас есть как минимум две виртуальные машины на основе одного и того же образа, вам, вероятно, будет выгодно использовать v.linked_clone = true
. Это, скорее всего, ускорит первое создание ваших виртуальных машин и последующее уничтожение/создание заново.