「Vagrant」の版間の差分
ナビゲーションに移動
検索に移動
1行目: | 1行目: | ||
− | ==Vagrant== | + | ==[[Vagrant]]== |
{{amazon|B00F418SQ8}} | {{amazon|B00F418SQ8}} | ||
9行目: | 9行目: | ||
====初期化==== | ====初期化==== | ||
− | * | + | *[[Vagrant]]fileが生成される |
$ vagrant init centos/7 | $ vagrant init centos/7 | ||
− | A ` | + | A `[[Vagrant]]file` has been placed in this directory. You are now |
− | ready to `vagrant up` your first | + | ready to `vagrant up` your first [[vi]]rtual en[[vi]]ronment! Please read |
− | the comments in the | + | 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 -- | + | 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月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) | + | =====起動時のパラメータ(--provider=hyperv)を[[Vagrant]]fileに記述===== |
− | config.vm. | + | 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==== | ||
*ネットワークを公開 | *ネットワークを公開 | ||
− | * | + | *[[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. | + | 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. | + | 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 ( | + | 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]]自体に設定するには、環境変数に以下を設定===== |
*http_proxy | *http_proxy | ||
*https_proxy | *https_proxy | ||
− | ===== | + | =====ゲスト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 | ||
− | * | + | *[[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カタログ
初期化
- Vagrantfileが生成される
$ 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
- 以下のエラーの場合のトラブルシュート
- http://typea.info/blg/glob/2018/06/windows10-pro-hyper-v-vagrant-211-switchid.html
\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
- ネットワークを公開
- Vagrantfile
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
- Vagrantfileに追記
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
© 2006 矢木浩人