[Windows]Vagrant
まずはさくっと試してみる
1.必要アプリインストール
1.ホストPC準備: Windows 10 Home (x280)
2.Virtual Boxインストール: VirtualBox-6.0.10-132072-Win.exe
3.Vagrantインストール: vagrant_2.2.5_x86_64.msi
4.Gitインストール: Git-2.23.0-64-bit.exe ※ Git bashを使うため
2.Vagrantfile作成
以下内容を「Vagrantfile」というファイル名で作る。
実験なので、インストールしてる各パッケージに特に意味なし。
3.仮想マシン起動
Git Bashを起動。
Vagrantfileファイルのある場所で以下実行。
# vagrant.exe up
4.クライアントから仮想マシンへアクセス
終了したら、以下で仮想マシンにsshアクセス。
# vagrant.exe ssh
これでプロンプトが変わり、仮想マシンへのログインが出来た。
5.仮想マシンからログアウト
# exit
これでホストマシンへ戻れる。
6.仮想マシン停止
# vagrant halt
Virtual Box起動してみると、確かに電源オフになった。
7.VagrantfileでAnsible連携
Ansibleで自動構成させるためのプレイブックファイルplaybook.ymlを以下内容で作る。
Vagrantfileに赤字部を追加して、Ansibleでplaybook.ymlの通り構成されるようにする。
1.必要アプリインストール
1.ホストPC準備: Windows 10 Home (x280)
2.Virtual Boxインストール: VirtualBox-6.0.10-132072-Win.exe
3.Vagrantインストール: vagrant_2.2.5_x86_64.msi
4.Gitインストール: Git-2.23.0-64-bit.exe ※ Git bashを使うため
2.Vagrantfile作成
以下内容を「Vagrantfile」というファイル名で作る。
実験なので、インストールしてる各パッケージに特に意味なし。
$install_package = <sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install build-essential
sudo apt-get -y install libncurses5-dev gawk u-boot-tools openssh-server samba binutils-arm-linux-gnueabi xinetd kpartx
SCRIPT
Vagrant.configure(2) do |config|
config.vm.box = 'ubuntu/xenial64'
config.vm.provision 'shell', inline: $install_package
end
3.仮想マシン起動
Git Bashを起動。
Vagrantfileファイルのある場所で以下実行。
# vagrant.exe up
4.クライアントから仮想マシンへアクセス
終了したら、以下で仮想マシンにsshアクセス。
# vagrant.exe ssh
これでプロンプトが変わり、仮想マシンへのログインが出来た。
5.仮想マシンからログアウト
# exit
これでホストマシンへ戻れる。
6.仮想マシン停止
# vagrant halt
Virtual Box起動してみると、確かに電源オフになった。
7.VagrantfileでAnsible連携
Ansibleで自動構成させるためのプレイブックファイルplaybook.ymlを以下内容で作る。
---
- hosts: all
tasks:
- name: install latest docker
shell: curl -sSL https://get.docker.com/ubuntu/ | sudo sh
- name: add vagrant user to docker group
command: gpasswd -a vagrant docker
sudo: yes
Vagrantfileに赤字部を追加して、Ansibleでplaybook.ymlの通り構成されるようにする。
Vagrant.configure(2) do |config|
config.vm.box = "utopic64"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yml"
end
end
スポンサーサイト