+ | 読む |
win10 | 〇 | macOS | 〇 | Linux | CentOS,Debian | Other | ArchLinux | Unix | Ⅹ |
ver | release | note |
2.2.19 | 2021/11/05 | guest/suse: Add fallback shutdown for versions without systemd ,provider/virtualbox: Validate VirtualBox hostonly network range |
- | 2010/03/08 | start release |
+ | 閲覧 |
+ | さらに古いバージョン |
1 | BIOS/UEFI 仮想化機能有効化 | IntelCPUの場合は「VirtualizationTechnology」をEnabled |
AMD CPUの場合は「SVM Mode」をEnabled | ||
2 | Virtualboxをインストール | virtualboxダウンロード |
インストーラーを実行して道なりに手順を踏むだけでよい。 | ||
3 | vagrantをインストール | vagrantダウンロード |
インストーラーを実行して道なりに手順を踏むだけでよい。 | ||
※ | vagrant pluginインストール | vagrant pluginインストールを参照。 |
4 | vagrant設定 | 任意の場所にvagrant用フォルダ/ディレクトリを作成 |
vagrantfileを作成 | ||
vagrant イメージを、vagrant cloudを選び vagrantfileを書き換える | ||
vagrantfileを作成 | vagrant init | |
vagrantfileをテキストエディタで開く | ||
vagrantfile変更箇所 | Vagrant.configure("2") do |config| config.vm.box = "(box名)" | |
※ | vagrantfile詳細設定 | vagrantfile詳細設定を参照。 |
5 | vagrant構築 | vagrant up |
6 | vagrant(ゲストOS)にログイン | vagrant ssh |
(コマンドプロンプトやPowershell等から) | ||
7 | ゲストOS | ログイン後はLinuxコマンドで操作をするのみ。 |
ユーザーはvagrantなので、他のユーザーで操作をしたい場合はsudo su- USERNAMEで切り替えるなどをする。 | ||
PowerShell等でなくTeratermなどでもログインできるが、その場合は".vagrant/machines/default/virtualbox/private_key"を指定してやる必要がある。 |
vagrant up | vagrant起動 |
vagrant halt | vagrantゲストOSシャットダウン |
vagrant reload | vagrantゲストOS再起動 |
vagrant reload --provision | vagrantゲストOS再起動+再構築 |
vagrant up --provider docker | vagrant+dockerプロバイダ起動 |
vagrant box remove BOX/NAME | 指定したboxを削除 |
インストール | vagrant plugin install (プラグイン名) |
アンインストール | vagrant plugin uninstall (プラグイン名) |
一覧取得 | vagrant plugin list |
一括アップデート | vagrant plugin update |
vagrant-cachier | プロビジョンなどでDL済パッケージをキャッシュ |
vagrant-global-status | 起動済みvagrantを一覧などを行う |
vagrant-host-shell | ホストOS上でコマンドを記述する |
vagrant-hostmanager | ゲストOSとホストOSの/etc/hostsを設定 |
vagrant-hosts | ゲストOSのhosts設定 |
vagrant-hostsupdater | ホストOSの/etc/hostsへゲストOS情報を追加/削除 |
vagrant-omnibus | プロビジョニングにChefを利用できる(※1) |
vagrant-vbguest | ホストOS/ゲストOS間のファイル共有 |
vagrant-vbox-snapshot | スナップショット(※2) |
docker-provider | 【注意】Docker provider for Vagrant |
vagrant-dns | A plugin to manage DNS records for vagrant |
vagrant-dnsmasq | A Dnsmasq Vagrant plugin that manages the dnsmasq.conf file and /etc/resolver directory on your host system. |
vagrant-niftycloud | https://github.com/sakama/vagrant-niftycloud |
ホスト名の指定 | config.vm.hostname |
Virtualboxのイメージ名の指定 | config.vm.provider :virtualbox do |vbox| vbox.name = "VirtualboxNAME" end |
ポートフォワーディング | config.vm.network "forwarded_port", guest: 22, host: 2222 |
プライベートネットワーク | config.vm.network "private_network", ip: "192.168.33.10" |
共有フォルダ | config.vm.synced_folder "./data", "/vagrant_data" ※ ホスト側Path, ゲスト側Path |
プロビジョニング(外部shell) | config.vm.provision "shell", path: "./shell/init.sh" |
プロビジョニング(ファイルコピー) | config.vm.provision "file", source: "./HOSTDIR", destination: "/GUESTDIR/." source⇒destinationへファイルコピーする |
プロビジョニング(インライン) | config.vm.provision "shell", inline: <<-SHELL (コマンド) SHELL |
メモリー設定 | config.vm.provider "virtualbox" do |vb| vb.gui = true vb.memory = "1024" end |
ゲストOS | ローカルPC | |||
通常ファイル共有ディレクトリ | <--> | ローカルPCフォルダ | ||
Git共有ディレクトリ | <--> | ローカルPCフォルダ | ||
△ ▽ | ||||
リポジトリ | ||||