Vagrantコマンド詳細


## 概要

 - 書いておかないと忘れてしまうのでメモ代わりに。

## 詳細

### box

##### boxのコマンド一覧

```
# boxの追加
vagrant box add
# boxの一覧表示
vagrant box list
# boxの削除
vagrant box remove
# 元々のboxの出力
vagrant box repackage
# boxの更新
vagrant box update
# boxの更新確認
vagrant box outdated
```

##### vagrnat box remove

```
# Boxの削除
vagrant box remove [Box名]
# 不明
vagrant box remove [Box名] --box-version [VALUE]
# プロバイダ指定で削除
vagrant box remove [Box名] --provider [プロバイダ名] 
```


##### vagrant box outdated

```
# VagrantのBoxが最新かどうかのチェックを行う
vagrant box outdated
# VagrantのBoxが最新かどうかのチェックを行う（全てのBoxに対して行う）
vagrant box outdated --global

```


##### vagrant box update

```
# vagrantのBoxの更新を行う（起動中のBoxは更新されません）
#
vagrant box update
# Box名を指定
vagrant box update --box [Box名]
# プロバイダ名を指定（複数プロバイダを指定していない限りは必要無）
vagrant box update --box [Box名] --provider [プロバイダ名]
```


##### vagrant box add

```
# Box追加
vagrant box add [Box名] [url]
```

##### vagrant box remove

```
# Box削除
vagrant box remove [Box名]
```

##### vagrant box list

```
# 登録しているboxの一覧表示
vagrant box list
```


### connect


##### vagrant connect

 - vagrant connect [name]
 - 各オプションについてなどまだ試していないので調査する

```
# The connect command will not spin up a small virtual machine to create a static IP you can access. When this flag is set, the only way to access the connection is to use the SOCKS proxy address outputted.
--disable-static-ip
# Tells connect what static IP address to use for the virtual machine. By default, Vagrant connect will use an IP address that looks available in the 172.16.0.0/16 space.
--static-ip IP
#  Connects via SSH to an environment shared with vagrant share --ssh.
--ssh

```

### login

##### vagrant login 

 - あとで調べる

```
# 通常
vagrant login
vagrant login --check
vagrant login --logout

```

### plugin

##### vagrant plugin

 - 詳しくはあとで調べる

```
# インストール
vagrant plugin install [plugin-name]

vagrant plugin license [plugin-name] [license-file]

# インストールしているプラグインを表示
vagrant plugin list

# アンインストール
vagrant plugin uninstall [plugin-name]
# プラグインのアップデート
vagrant plugin update 

```

 - 入れておくと便利なプラグイン

[vagrant-aws](https://github.com/mitchellh/vagrant-aws)
[sahara](https://github.com/jedi4ever/sahara)
[vagrant-cachier](https://github.com/fgrehm/vagrant-cachier)
[vagrant-omnibus](https://github.com/schisamo/vagrant-omnibus)

```
# awsを使用する際に必要なプラグイン
vagrant plugin install vagrant-aws
# 状態のロールバックとかしたい時に使用
vagrant plugin install sahara
# yumとかaptとかのファイルを内部にキャッシュしておくことができる
vagrant plugin install vagrant-cachier
# chef入れてくれるやつ
vagrant plugin install vagrant-omnibus

```

### その他（あとでまとめる）



##### vagrant repackage

```
vagrant box repackage [Box名] [プロバイダー名]
# 例
vagrant box repackage ubuntu virtualbox
```

##### vagrant up

```
# 通常起動
vagrant up

# プロビジョニングしない場合
vagrant up --no-provision

# AWSインスタンスを起動
vagrant up --provider=aws
```

##### vagrant init

```
vagrnat init [Box名]

```

##### vagrant package

 - あとで調べる

```
# Boxファイルの出力
vagrant package 
vagrant package --base [ベース名]
vagrant package --output [出力ファイル名(デフォルトはpackage.box)]
# 謎オプション
vagrant package --include
# 謎オプション
vagrant package --vagrantfile

```





##### vagrant provision


```
# 構成管理
vagrant provision
```

##### vagrant rsync

```
# rsyncしてくれる？（要確認）
vagrant rsync
```
##### vagrant halt

```
# 停止
vagrant halt
# 停止（確認無）
vagrant halt --force
# --forceオプションがついている時と動作は同じ
vagrant halt -f

```

##### vagrant destroy

```
# 削除（確認有）
vagrant destroy
# 削除（確認無）
vagrant destroy --force
# --forceオプションがついている時と動作は同じ
vagrant destroy -f

```



 - VagrantのBoxファイルの探し方

http://www.vagrantbox.es/