아래는 내 Vagrantfile입니다. 그러나 1개의 RedHat VM과 2개의 Ubuntu VM을 생성하는 대신 3개의 Ubuntu VM을 "방랑"합니다.
누군가 나에게 이유를 알려줄 수 있습니까? 미리 감사드립니다!
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
참고 사항: 동일한 이미지를 기반으로 하는 VM이 두 개 이상 있으므로 v.linked_clone = true
. 이렇게 하면 VM의 첫 번째 생성과 이후의 삭제/재생성 속도가 빨라질 것입니다.