1. ホーム
  2. configuration

[解決済み】Vagrantの「デフォルト」マシン名を変更する方法とは?

2022-04-06 12:04:07

質問

vagrant boxを起動する際の「default」という名前はどこから来ているのでしょうか?

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...

これを設定する方法はあるのでしょうか?

解決方法は?

複数のオプションがあると混乱するので、すべてのオプションをテストして、それらが何をするのか正確に確認することにしました。

VirtualBox 4.2.16-r86992とVagrant 1.3.3を使っています。

というディレクトリを作成しました。 nametest を実行し

vagrant init precise64 http://files.vagrantup.com/precise64.box

を実行して、デフォルトのVagrantfileを生成します。 そして、VirtualBoxのGUIを開いて、作成したボックスがどんな名前で表示されるかを確認しました。

  1. デフォルトのVagrantfile

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
    end
    
    

    VirtualBoxのGUI名。 "nametest_default_1386347922"

    コメント 名前のデフォルトはDIRECTORY_default_TIMESTAMPの形式です。

  2. VMの定義

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        config.vm.define "foohost"
    end
    
    

    VirtualBoxのGUI名。 "nametest_foohost_1386347922"

    コメント VMを明示的に定義した場合、使用される名前はトークン'default'を置き換えます。これは 浮浪者 がコンソールに出力されます。に基づいて簡略化すると zook 's(コメンター)の入力

  3. プロバイダ名の設定

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        config.vm.provider :virtualbox do |vb|
            vb.name = "foohost"
        end
    end
    
    

    VirtualBoxのGUI名。 "foohost"。

    コメント を設定すると name 属性を使用すると、その名前が VirtualBox GUI に表示される全体の名前になります。

    組み合わせ例。 VMの定義とプロバイダ名の設定

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        config.vm.define "foohost"
        config.vm.provider :virtualbox do |vb|
            vb.name = "barhost"
        end
    end
    
    

    VirtualBoxのGUI名。 barhost"

    コメント 両方のメソッドを同時に使用する場合、"Select "メソッドに割り当てられた値は、"Select "メソッドに割り当てられた値となります。 name のプロバイダ設定ブロックの方が優先されます。に基づいて簡略化すると zook の(コメンターの)入力

  4. 設定 hostname (ボーナス)

    Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
      config.vm.hostname = "buzbar"
    end
    
    

    コメント VM内部のホスト名を設定します。これは、以下の出力になります。 hostname コマンドを実行すると、このようにプロンプトが表示されます。 vagrant@<hostname> と表示されますが、ここでは次のように表示されます。 vagrant@buzbar

最終コード

    Vagrant.configure('2') do |config|
        config.vm.box = "precise64"
        config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        config.vm.hostname = "buzbar"
        config.vm.define "foohost"
        config.vm.provider :virtualbox do |vb|
            vb.name = "barhost"
        end
    end


というわけで、ここまでです。 これで、設定できる3種類のオプションとその効果がわかりましたね。 この時点で好みが分かれるところでしょうか。 (私はVagrant初心者なので、ベストプラクティスはまだ言えません)。