| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Vagrant」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==Vagrant==
+
==[[Vagrant]]==
 
{{amazon|B00F418SQ8}}
 
{{amazon|B00F418SQ8}}
  
9行目: 9行目:
  
 
====初期化====
 
====初期化====
*Vagrantfileが生成される
+
*[[Vagrant]]fileが生成される
 
  $ vagrant init centos/7
 
  $ vagrant init centos/7
  A `Vagrantfile` has been placed in this directory. You are now
+
  A `[[Vagrant]]file` has been placed in this directory. You are now
  ready to `vagrant up` your first virtual environment! Please read
+
  ready to `vagrant up` your first [[vi]]rtual en[[vi]]ronment! Please read
  the comments in the Vagrantfile as well as documentation on
+
  the comments in the [[Vagrant]]file as well as documentation on
  `vagrantup.com` for more information on using Vagrant.
+
  `vagrantup.com` for more information on using [[Vagrant]].
  
 
====起動====
 
====起動====
21行目: 21行目:
 
*Hyper-v で起動
 
*Hyper-v で起動
 
**Poershell を管理者で実行
 
**Poershell を管理者で実行
  PS> vagrant up --provider=hyperv
+
  PS> vagrant up --pro[[vi]]der=hyperv
  
 
*以下のエラーの場合のトラブルシュート
 
*以下のエラーの場合のトラブルシュート
28行目: 28行目:
 
  \import_vm_xml.ps1 : パラメーター名 'switchid' に一致するパラメーターが見つかりません。発生場所 行:1 文字:327
 
  \import_vm_xml.ps1 : パラメーター名 'switchid' に一致するパラメーターが見つかりません。発生場所 行:1 文字:327
 
  + ... achines/default/hyperv/Virtual Hard Disks/disk.vhd' -switchid 'c08cb7 ...
 
  + ... achines/default/hyperv/Virtual Hard Disks/disk.vhd' -switchid 'c08cb7 ...
  +                                                        2020年2月15日 () 08:39 (UTC)[[利用者:Piroto|Piroto]] ([[利用者・トーク:Piroto|トーク]]) 2020年2月15日 () 08:39 (UTC)
+
  +                                                        2020年2月16日 () 04:33 (UTC)[[利用者:Piroto|Piroto]] ([[利用者・トーク:Piroto|トーク]]) 2020年2月16日 () 04:33 (UTC)
 
     + CategoryInfo          : InvalidArgument: (:) [import_vm_xml.ps1]、ParameterBindingException
 
     + CategoryInfo          : InvalidArgument: (:) [import_vm_xml.ps1]、ParameterBindingException
 
     + FullyQualifiedErrorId : NamedParameterNotFound,import_vm_xml.ps1
 
     + FullyQualifiedErrorId : NamedParameterNotFound,import_vm_xml.ps1
  
=====起動時のパラメータ(--provider=hyperv)をVagrantfileに記述=====
+
=====起動時のパラメータ(--provider=hyperv)を[[Vagrant]]fileに記述=====
  config.vm.provider "hyperv" do |vb|
+
  config.vm.pro[[vi]]der "hyperv" do |vb|
 
   # Customize the amount of memory on the VM:
 
   # Customize the amount of memory on the VM:
 
   vb.memory = "1024"
 
   vb.memory = "1024"
42行目: 42行目:
 
====net work====
 
====net work====
 
*ネットワークを公開
 
*ネットワークを公開
*Vagrantfile
+
*[[Vagrant]]file
 
  config.vm.network :public_network
 
  config.vm.network :public_network
 
====シャットダウン ====
 
====シャットダウン ====
71行目: 71行目:
 
====GNOME GUI====
 
====GNOME GUI====
 
*https://mseeeen.msen.jp/centos7-gnome-desktop-with-vagrant/
 
*https://mseeeen.msen.jp/centos7-gnome-desktop-with-vagrant/
   config.vm.provider "virtualbox" do |vb|
+
   config.vm.pro[[vi]]der "[[vi]]rtualbox" do |vb|
     # Display the VirtualBox GUI when booting the machine
+
     # Display the [[VirtualBox]] GUI when booting the machine
 
     vb.gui = true
 
     vb.gui = true
 
    
 
    
78行目: 78行目:
 
     vb.memory = "2048"
 
     vb.memory = "2048"
 
  end
 
  end
  config.vm.provision "shell", inline: <<-SHELL
+
  config.vm.pro[[vi]]sion "shell", inline: <<-SHELL
 
   sudo yum -y groupinstall "GNOME Desktop"
 
   sudo yum -y groupinstall "GNOME Desktop"
 
   sudo yum -y install epel-release
 
   sudo yum -y install epel-release
97行目: 97行目:
 
  >vagrant box list
 
  >vagrant box list
 
  centos/7  (hyperv, 1804.02)
 
  centos/7  (hyperv, 1804.02)
  centos7db2 (virtualbox, 0)
+
  centos7db2 ([[vi]]rtualbox, 0)
 
====Boxを利用可能に====
 
====Boxを利用可能に====
 
  >vagrant init centos7db2
 
  >vagrant init centos7db2
 
====Boxを削除====
 
====Boxを削除====
 
  >vagrant box remove centos7db2
 
  >vagrant box remove centos7db2
===Tips===
+
===[[Tips]]===
 
====proxy====
 
====proxy====
=====Vagrant自体に設定するには、環境変数に以下を設定=====
+
=====[[Vagrant]]自体に設定するには、環境変数に以下を設定=====
 
*http_proxy
 
*http_proxy
 
*https_proxy
 
*https_proxy
=====ゲストOSにプロキシーを適用するには、上記設定をした上で以下のプラグインを導入=====
+
=====ゲストOSにプロキシーを適用するには、上記設定をした上で以下の[[プラグイン]]を導入=====
 
*https://qiita.com/kota344@github/items/304979feaf965afffb1a
 
*https://qiita.com/kota344@github/items/304979feaf965afffb1a
 
  > vagrant plugin install vagrant-proxyconf
 
  > vagrant plugin install vagrant-proxyconf
*Vagrantfileに追記
+
*[[Vagrant]]fileに追記
 
  if Vagrant.has_plugin?("vagrant-proxyconf") && ENV['http_proxy']
 
  if Vagrant.has_plugin?("vagrant-proxyconf") && ENV['http_proxy']
 
     puts '- Proxy Setting ----------------------------------'
 
     puts '- Proxy Setting ----------------------------------'

2020年2月16日 (日) 04:33時点における最新版

Vagrant

基本

Boxカタログ

初期化

$ 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
  • Hyper-v で起動
    • Poershell を管理者で実行
PS> vagrant up --provider=hyperv
\import_vm_xml.ps1 : パラメーター名 'switchid' に一致するパラメーターが見つかりません。発生場所 行:1 文字:327
+ ... achines/default/hyperv/Virtual Hard Disks/disk.vhd' -switchid 'c08cb7 ...
+                                                         2020年2月16日 (日) 04:33 (UTC)Piroto (トーク) 2020年2月16日 (日) 04:33 (UTC)
    + CategoryInfo          : InvalidArgument: (:) [import_vm_xml.ps1]、ParameterBindingException
   + FullyQualifiedErrorId : NamedParameterNotFound,import_vm_xml.ps1
起動時のパラメータ(--provider=hyperv)をVagrantfileに記述
config.vm.provider "hyperv" do |vb|
  # Customize the amount of memory on the VM:
  vb.memory = "1024"
end

ssh接続

$ vagrant ssh

net work

config.vm.network :public_network

シャットダウン

$ vagrant halt

休止

$ vagrant suspend

ステータス確認

$ vagrant status

破棄

$ vagrant destory

ホストとのディレクトリ共有

  • 最初の引数がホストのディレクトリ、2つ目がゲスト
  config.vm.synced_folder "../vagrantdata", "/vagrant_data"

スナップショット

  • スナップショットをとる
vagrant snapshot save {スナップショット名}
  • 確認
vagrant snapshot list
  • リストア
vagrant snapshot restore {スナップショット名}
  • 削除
vagrant snapshot delete {スナップショット名}

<blockquote>名前を付けずに一時保存の場合、push と pop が利用できる</blockquote>

プロビジョニング

GNOME GUI

 config.vm.provider "virtualbox" do |vb|
   # Display the VirtualBox GUI when booting the machine
   vb.gui = true
 
   # Customize the amount of memory on the VM:
   vb.memory = "2048"
end
config.vm.provision "shell", inline: <<-SHELL
  sudo yum -y groupinstall "GNOME Desktop"
  sudo yum -y install epel-release
  sudo systemctl set-default graphical.target
  systemctl get-default
  sudo shutdown -r now
SHELL

作成した環境をコピー

配布パッケージの作成

> vagrant package [vm名] --output [名前.box]
>vagrant package default --output centos7db2.box

作成したパッケージの取り込み

>vagrant box add centos7db2 centos7db2.box

Boxを確認

>vagrant box list
centos/7   (hyperv, 1804.02)
centos7db2 (virtualbox, 0)

Boxを利用可能に

>vagrant init centos7db2

Boxを削除

>vagrant box remove centos7db2

Tips

proxy

Vagrant自体に設定するには、環境変数に以下を設定
  • http_proxy
  • https_proxy
ゲストOSにプロキシーを適用するには、上記設定をした上で以下のプラグインを導入
> vagrant plugin install vagrant-proxyconf
if Vagrant.has_plugin?("vagrant-proxyconf") && ENV['http_proxy']
    puts '- Proxy Setting ----------------------------------'
    puts ENV['http_proxy']
    config.proxy.http     = "http://" + ENV['http_proxy']
    config.proxy.https    = "https://" + ENV['http_proxy']
    config.proxy.no_proxy = "localhost,127.0.0.1"
    puts '--------------------------------------------------'
end