[Vagrant]基本的な使い方
Vagrantのコマンド
前回はVagrantのインストールまで行いました。
今回は実際にVagrantを使ってみましょう
基本的に下記のコマンドを覚えていれば、だいたい大丈夫です
vagrant init [box]
vagrantを使用する準備を行います。
具体的には、vagrantを使用するための設定ファイル「Vagrantfile」を作成します
Vagrantfilenには、使用するboxの指定や、仮想環境のメモリ・ネットワーク・CPU等々の情報が記述されています
boxはatlasで管理されているものであれば、そのままbox名を記述するといろいろやってくれます
vagrant up
仮想マシンを立ち上げます
vagrantfileがあるディレクトリで実行します
イメージファイルがまだダウンロードできていない場合は自動的にダウンロードしてくれます
ダウンロードが完了すると仮想マシンが立ち上がります
vagrant box list
管理されているVagrant Boxの一覧を表示します
vagrant status
仮想マシンの動作状況を確認します
vagrant halt
仮想マシンを停止します
vagrant ssh
仮想マシンにsshでログインします
rootパスワードは基本的に「vagrant」となっています
実際セットアップするまでの手順
実際には下記のような手順でコマンドを叩いて行くと、簡単に仮想環境が出来上がります。
centosの仮想環境を構築する例です
$ mkdir centos $ cd centos/ $ vagrant init centos/7 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'centos/7' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Loading metadata for box 'centos/7' default: URL: https://atlas.hashicorp.com/centos/7 ==> default: Adding box 'centos/7' (v1606.01) for provider: virtualbox default: Downloading: https://atlas.hashicorp.com/centos/boxes/7/versions/1606.01/providers/virtualbox.box ==> default: Successfully added box 'centos/7' (v1606.01) for 'virtualbox'! ==> default: Importing base box 'centos/7'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'centos/7' is up to date... ==> default: Setting the name of the VM: centos_default_1468892144144_15308 ==> 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: No guest additions were detected on the base box for this VM! Guest default: additions are required for forwarded ports, shared folders, host only default: networking, and more. If SSH fails on this machine, please install default: the guest additions and repackage the box to continue. default: default: This is not an error message; everything may continue to work properly, default: in which case you may ignore this message. ==> default: Rsyncing folder: /Users/s-makinaga/VirtualBox VMs/Vagrant/centos/ => /home/vagrant/sync $ vagrant box list centos/7 (virtualbox, 1606.01) $ vagrant ssh [vagrant@localhost ~]$ [vagrant@localhost ~]$ exit ログアウト Connection to 127.0.0.1 closed. $ vagrant halt ==> default: Attempting graceful shutdown of VM... $ vagrant status Current machine states: default poweroff (virtualbox) The VM is powered off. To restart the VM, simply run `vagrant up`
Vagrantfileをいじる
vagrantfileには仮想マシンの設定やboxの指定、フォルダの同期設定なんかを記述します
主だった設定項目について説明
boxの指定
config.vm.box = “box名”
ネットワークの設定
config.vm.network “private_network”, ip: “192.168.10.100”
フォルダの同期設定
config.vm.synced_folder “ホストPC側のパス”, “Vagrant側のパス”
メモリサイズ
vb.memory = “1024”
CPUの割り当てコア数
vb.cpus = “2”
Vagrantfile変更後の反映
vagrantfile変更後は、仮想マシンを再起動すれば反映されます
vagrant reload ですね
それにしてもvagrantを使えば非常に簡単にテスト環境ができてしまいます
さらにchefなんかを組み合わせればかなりの業務効率化を図れます
次回はvagrant環境でwordpressの開発環境を構築してみます