Bagaimana cara mendapatkan file Vagrant multi-mesin untuk menggunakan satu VM?

Apakah ada cara untuk melakukan pengaturan multi-mesin di mana setiap konfigurasi menggunakan mesin yang sama? Saya mendesain situs web dan saya ingin VM saya dikonfigurasi untuk dijalankan sebagai server web dengan alamat IP dan memiliki setiap konfigurasi untuk memuat folder sinkronisasi dan nama domain.

Inilah yang saya miliki sejauh ini:

Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, host: 8080, guest: 80
config.vm.network "private_network", ip: "172.28.128.3"

config.vm.define "myoffercode" do |vm1|
    vm1.vm.synced_folder "/Users/gregoryschultz/Sites/myoffercode", "/var/www/html"
end

config.vm.define "dailybayou" do |vm2|
    vm2.vm.synced_folder "/Users/gregoryschultz/Sites/dailybayou", "/var/www/html"
end
end

Terima kasih untuk bantuannya,


person Gregory Schultz    schedule 06.10.2016    source sumber


Jawaban (1)


Apakah ada cara untuk melakukan pengaturan multi-mesin di mana setiap konfigurasi menggunakan mesin yang sama?

tidak, Anda tidak bisa, 1 mesin konfigurasi = 1 VM jadi saat Anda menulis

config.vm.define "myoffercode" do |vm1|
    vm1.vm.synced_folder "/Users/gregoryschultz/Sites/myoffercode", "/var/www/html"
end

itu benar-benar menciptakan VM baru yang dikelola oleh gelandangan

Saya mendesain situs web dan saya ingin VM saya dikonfigurasi untuk dijalankan sebagai server web dengan alamat IP dan memiliki setiap konfigurasi untuk memuat folder sinkronisasi dan nama domain.

Solusinya adalah dengan menggunakan 1 VM dan menggunakan Host virtual

jadi di VM Anda, Anda menyinkronkan semua proyek Anda

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network :forwarded_port, host: 8080, guest: 80
  config.vm.network "private_network", ip: "172.28.128.3"

  config.vm.synced_folder "/Users/gregoryschultz/Sites/myoffercode", "/var/www/html/myoffercode"
  config.vm.synced_folder "/Users/gregoryschultz/Sites/dailybayou", "/var/www/html/dailybayou"
end

dan dalam konfigurasi Apache Anda

# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
    DocumentRoot "/var/www/html/dailybayou"
    ServerName dailybayou.localdev

    # Other directives here
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/www/html/myoffercode"
    ServerName myoffercode.localdev

    # Other directives here
</VirtualHost>

pastikan untuk memperbarui file host lokal Anda agar mengarah 172.28.128.3 ke situs web tersebut

person Frederic Henri    schedule 07.10.2016
comment
Apakah mungkin untuk memiliki banyak mesin tetapi menggunakan kotak yang sama di semua VM? Contoh: kotak 1vm dan dikonfigurasi dengan benar lalu gunakan kotak itu di VM2, VM3, dll. - person Gregory Schultz; 07.10.2016
comment
ya Anda bisa - lihat postingan saya [stackoverflow.com/a/39838357/4296747] ini tentang snapshot (bukan apa Anda inginkan) tetapi bagian tentang penyediaan atau pengemasan ulang kotak itulah yang ingin Anda gunakan - person Frederic Henri; 07.10.2016