下記から Vagrant をインストールする。
C:\> vagrant box add centos67 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box C:\> vagrant box list C:\> vagrant box update centos67 C:\> vagrant box remove centos67
下記のサイトで様々な box が公開されています。
C:\> mkdir centos67a C:\> cd centos67a C:\centos67a> vagrant init --minimal centos67 C:\centos67a> type Vargrantfile Vagrant.configure("2") do |config| config.vm.box = "centos67" end C:\centos67a> vagrant up
ssh-config を実行すると SSH に関する情報が表示される。下記では、起動した VM の SSH ポート(22番)が、127.0.0.1 の 2222 番にマッピングされていることがわかる。Tera Term Pro などの SSH クライアントで、127.0.0.1 の 2222番ポートに SSH ログインし、ユーザID vagrant、パスワード vagrant でログインできる。
C:\centos67a> vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 :
C:\centos67a> vagrant up ... 起動する C:\centos67a> vagrant halt ... シャットダウンする C:\centos67a> vagrant status ... 状態を表示する C:\centos67a> vagrant suspend ... 一時停止する(復帰はup) C:\centos67a> vagrant destroy ... VMを削除する
現在のゲストOS をパッケージ化し、それを box に加える。
C:\centos67a> vagrant package C:\centos67a> vagrant box add centos67-httpd package.box C:\centos67a> vagrant box list
ホストOS の C:\centos67a は、ゲストOS の /vagrant にマウントされている。
下記の様に、プロビジョニング時に初期インストールスクリプトを指定することができる。
C:\centos67a> notepad bootstrap.sh #!/bin/sh yum -y install httpd chkconfig httpd on service start httpd C:\centos67a> notepad Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "centos67" config.vm.provision :shell, :path => "bootstrap.sh" end
もしくは、Vagrantfile に直接記述することもできる。
Vagrant.configure("2") do |config| config.vm.box = "centos67" config.vm.provision "shell", inline: <<-SHELL yum -y install httpd chkconfig httpd on service start httpd SHELL end
C:\centos67a> notepad Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "centos67" config.vm.network "private_network", ip: "192.168.56.120" end
C:\centos67a> notepad Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "centos67" config.vm.network :forwarded_port, host: 8080, guest: 80 end