2013-04-02 37 views
7

Tôi mới sử dụng Vagrant và hiện đang thử cung cấp hộp VirtualBox và AWS (sử dụng plugin âm thanh-aws) từ Vagrantfile đơn lẻ.Vagrantfile có thể có cả hai nhà cung cấp AWS và VirtualBox cùng một lúc?

My Vagrantfile được như hình dưới đây:

Vagrant.configure("2") do |config| 

    config.vm.define :web do |web_config| 
     web_config.vm.box = "dummy" 
     web_config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box" 

     web_config.vm.provider :aws do |aws| 
      aws.access_key_id = "ACCESS KEY" 
      aws.secret_access_key = "SECRET KEY" 
     end 
    end 

    config.vm.define :db do |db_config| 
     db_config.vm.box = "precise32" 
     db_config.vm.box_url = "http://files.vagrantup.com/precise32.box" 

     db_config.vm.provider :virtualbox do |vb| 

     end  
    end 
end 

Vì vậy, về cơ bản tôi đang cố gắng để có AWS cho web và một hộp mạng cho cơ sở dữ liệu. Có thể làm điều này từ đơn Vagrantfile? Và lệnh dưới đây sẽ tạo ra và cung cấp cả hai máy ảo?

vagrant up --provider=aws 

Trả lời

5

Bằng cách đánh giá từ Basic Provider Usage

Hạn chế

Vagrant hiện hạn chế bạn đưa lên một nhà cung cấp cho mỗi máy. Nếu bạn có môi trường nhiều máy, bạn có thể mang theo một máy được VirtualBox hỗ trợ và một máy khác được VMware Fusion hỗ trợ, ví dụ, nhưng bạn không thể quay lại cùng một máy với cả VirtualBox và VMware Fusion.

Đây là giới hạn sẽ bị xóa trong phiên bản tương lai của Vagrant.

điều này thực sự có thể! Nhưng bạn phải nhớ rằng các chức năng như mạng công cộng và riêng tư không thể (thường là, xem Private Networks) được sử dụng trên các đường biên của nhà cung cấp. Về phần thứ hai của câu hỏi của bạn, tôi giả sử bạn cần phát hành hai lệnh, một cho mỗi nhà cung cấp trong môi trường đa vm của bạn nhưng đó chỉ là phỏng đoán - có rất ít tài liệu chính thức về nhà cung cấp và môi trường đa vm.

Các vấn đề liên quan