ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

Vagrant Cloudからbox追加する

Vagrant

Vagrant Cloudというboxが集まっている?サイトがvagrant 1.5の公開と合わせて出ていたようです。

自分が気づいたのは最近のことで、ちょっと使ってみたいと思います。

Vagrant Cloudを使うにあたってユーザー登録が必要なので、済ませておきましょう。

vagrant loginを実行する


~/l/v/nginx-lab ❯❯❯ vagrant -v
Vagrant 1.7.2

versionは1.5以降であればOK!


~/l/v/nginx-lab ❯❯❯ vagrant plugin list
vagrant-share (1.1.3, system)

pluginはshareがデフォルトで入っているようです。


~/l/v/nginx-lab ❯❯❯ vagrant login
In a moment we will ask for your username and password to HashiCorp's
Atlas. After authenticating, we will store an access token locally on
disk. Your login details will be transmitted over a secure connection, and
are never stored on disk locally.

If you do not have an Atlas account, sign up at
https://atlas.hashicorp.com.

Atlas Username: maaaato
Password (will be hidden):
You are now logged in.

Vagrant Cloudに登録したユーザ情報を入力。 login成功!

vagrant cloudからbox追加


~/l/v/nginx-lab ❯❯❯ vagrant box add chef/centos-6.5
==> box: Loading metadata for box 'chef/centos-6.5'
    box: URL: https://atlas.hashicorp.com/chef/centos-6.5
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) virtualbox
2) vmware_desktop

Enter your choice: 1
==> box: Adding box 'chef/centos-6.5' (v1.0.0) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/chef/boxes/centos-6.5/versions/1.0.0/providers/virtualbox.box
==> box: Successfully added box 'chef/centos-6.5' (v1.0.0) for 'virtualbox'!


~/l/v/nginx-lab ❯❯❯ vagrant box list                                                                                                                                               ⏎
chef/centos-6.5 (virtualbox, 1.0.0)

vagrantの起動

Vagrant initしていればVagrantfileがあるので、以下の様に修正。


config.vm.box = "chef/centos-6.5"


~/l/v/nginx-lab ❯❯❯ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'chef/centos-6.5'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'chef/centos-6.5' is up to date...
==> default: Setting the name of the VM: nginx-lab_default_1423404350975_49918
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if its present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/masayuki.nakano/lab/vagrant-project/nginx-lab

Checking if box 'chef/centos-6.5' is up to date...

vagrant cloud上のboxに変更があったら取り込んでくれるみたいです。


~/l/v/nginx-lab ❯❯❯ vagrant ssh
Last login: Fri Mar  7 16:57:20 2014 from 10.0.2.2
[vagrant@localhost ~]$

無事sshで接続できました!

注意点

vagrant 1.5からbox追加の仕様が変わりました。


vagrant box add <box-name> <url>
vagrant box add centos-6.5 chef/centos-6.5


vagrant box add <box-name>
vagrant box add --name sl6-64 http://lyte.id.au/vagrant/sl6-64-lyte.box

参考

vagrantのboxをvagrant cloudからもらってくる

こう思った

Vagrant Cloudでbox追加が楽になったと感じました。 一方でユーザ登録はちょっとめんどいなと感じますが、vagrant cloud上にあるboxの信頼性が上がったのかなと思います。 (変なboxが上がっていないという意味で)