ある日vagrantコマンドを引数なしで 叩いてしまったことが ありました。
そうするとvagrantコマンドの一覧が出てきました。 コマンドではままあることなので、 驚きはしなかったのですが、 知らないコマンドがままあったので、 調べてまとめてみました。
と思いましたが、 途中で息切れしたので、前半戦だけ。
box manages boxes: installation, removal, etc.
connect connect to a remotely shared Vagrant environment
destroy stops and deletes all traces of the vagrant machine
global-status outputs status Vagrant environments for this user
halt stops the vagrant machine
help shows the help for a subcommand
init initializes a new Vagrant environment by creating a Vagrantfile
login log in to HashiCorp's Atlas
package packages a running vagrant environment into a box
plugin manages plugins: install, uninstall, update, etc.
port displays information about guest port mappings
powershell connects to machine via powershell remoting
provision provisions the vagrant machine
push deploys code in this environment to a configured destination
rdp connects to machine via RDP
reload restarts vagrant machine, loads new Vagrantfile configuration
resume resume a suspended vagrant machine
share share your Vagrant environment with anyone in the world
snapshot manages snapshots: saving, restoring, etc.
ssh connects to machine via SSH
ssh-config outputs OpenSSH valid configuration to connect to the machine
status outputs status of the vagrant machine
suspend suspends the machine
up starts and provisions the vagrant environment
version prints current and latest Vagrant version
全部で25個です。
1. vagrant up
まずは簡単なところから, vagrantのイメージを起動します。 さらに起動後にprovisionも実行してくれます。
2. vagrant halt
イメージの停止。
3. vagrant reload
イメージの再起動。
4. vagrant version
vagrantのバージョンを標準出力に出力。
$vagrant version
Installed Version: 1.9.1
Latest Version: 1.9.2
To upgrade to the latest version, visit the downloads page and
download and install the latest version of Vagrant from the URL
below:
https://www.vagrantup.com/downloads.html
If you're curious what changed in the latest release, view the
CHANGELOG below:
https://github.com/mitchellh/vagrant/blob/v1.9.2/CHANGELOG.md
5. vagrant status
vagrantイメージの状態(起動/停止)を表示。
6. vagrant destroy
イメージの削除。 こうやってサーバを簡単に作ったり、消したり できるのが良いところですよね。
7. vagrant init
vagrant の初期化。 vagrant init で初期化ファイルを作成してくれる。 ubuntu 16を使いたい時は、
vagrant init ubuntu/xenial64
第一引数にをconfig.vm.boxに設定してVagrantfile を作成してくれる。
--minimalオプションをつけると 最小限の記述のVagrantファイルを作成してくれる。
Vagrant.configure("2") do |config|
config.vm.box = "base"
end
urlからboxを作成する場合は、
$ vagrant init my-company-box https://boxes.company.com/my-company.box
のようにする。
8. vagrant ssh
ゲストOSにssh接続。 -cオプションをつけると,ssh接続してコマンドを投げられる。
9. vagrant ssh-config
vagrant sshする時のsshの設定を出力。
$vagrant ssh-config
Host default
HostName 127.0.0.1
User ubuntu
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/jo/Vagrant/node/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
10. vagrant suspend
イメージの一時停止。
11. vagrant resume
一時停止されたイメージの再起動。
12. vagrant box
vagrant boxの管理。 box とは、vagrantイメージにインストールする際の OSのスナップショットのようなもの。
- list ・・・ Vagrant Box の表示。
- add ・・・ Vagrant Box の追加。
- remove ・・・ Vagrant Box の削除。
- outdated ・・・ Vagrant Box が最新かどうか確認。
- update ・・・ Vagrant Boxを最新にアップデート。
- repackage ・・・ 指定したイメージをboxにパッケージする。
13. vagrant global-status
ホストマシーンのvagrantイメージの状態を確認できます。 runningなbox2を停止させたい場合は、 vagrant halt a8f6bbcで停止できる。
vagrant global-status
id name provider state directory
-------------------------------------------------------------------------
4a9f8c4 default virtualbox poweroff /Users/version1/Vagrant/box1
a8f6bbc default virtualbox running /Users/version1/Vagrant/box2
a08e8e9 default virtualbox running /Users/version1/Vagrant/box3
14. vagrant port
こんな感じで、 ゲストマシーンのホストマシーンにマッピングされた ポートを確認できる。
$vagrant port
The forwarded ports for the machine are listed below. Please note that
these values may differ from values configured in the Vagrantfile if the
provider supports automatic port collision detection and resolution.
22 (guest) => 2222 (host)
15. vagrant powershell
powershellを起動できる模様。 macでやって見たけど、普通にwindowsじゃないとねと言われる。
全部まとめようとしましたが、 息切れしてきたので、 前半として一旦区切ります。
調子の良い時に後半戦まとめます。