忘れないようにメモ
0. 動機
Vagrant の存在を最近知って試したくなった。
WSL を使っていたが実はこっちのほがいいのではと感じた。
WSLは環境削除に時間がかかる。
コマンドを打っていって設定をするよりも設定ファイルとコマンド一発というのがDockerのようで魅力に感じた。
1. 構成

ホストOS | ゲストOS |
---|---|
Windows 11 (64bit) | Ubuntu 22.04 |
コマンド入力は Windows11 に標準でインストールされている Windows Terminal
(ターミナル)で
PowerShellを使用。
2. 流れ
- Windows11 に Virtualbox インストール
- Windows11 に Vagrant インストール
- Vagrantfile で box設定
- プラグインのインストール
- Ubuntu 22.04起動
3. Virtualbox インストール
以下からVirtualboxをダウンロード
追記:7.0.x系をダウンロードすること。そうでないと後続のプラグインのインストールでエラーになる。
もろもろ同意など全部YESでインストール
4. Vagrant インストール
versionは2.4.1以前を使用する。筆者は2.4.1を使用。
Windows のAMD64
をダウンロード
もろもろ同意など全部YESでインストール
ターミナルで以下を入力してバージョンが確認できればOK
vagrant -v
5. プラグインのインストール
プラグイン名 | 目的・役割 |
---|---|
vagrant-disksize | 仮想マシンのディスクサイズを変更する。Vagrantfile でサイズ指定が可能。 |
vagrant-vbguest | VirtualBox Guest Additions を自動で最新化・再インストールして安定動作を実現。 |
vagrant plugin install vagrant-disksize
vagrant plugin install vagrant-vbguest
6. Vagrantfile で box設定
Vagrant の作業ディレクトリを作成する。
適当にフォルダを作成。
mkdir $HOME/vms/ubuntu-2204
cd $HOME/vms/ubuntu-2024
以下を入力し、Vagrantfileを生成。
vagrant init ubuntu/jammy64
以下が作成した設定ファイル
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/jammy64"
config.disksize.size = "40GB"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "./share", "/share"
config.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.cpus = 2
vb.memory = "4096"
end
config.vm.provision "docker"
end
設定ファイルの解説
SSHのポート番号の設定
guest: 22
がゲストOSのポートで、host: 2222
がホストOSのポート
ホストOSのポートが2222
なのは普段使っている22
と被らないようにするため。
config.vm.network "forwarded_port", guest: 22, host: 2222, host_ip: "127.0.0.1", id: "ssh"
プライベートネットワークの設定
プライベートアドレスを設定する。ゲストOSにSSH以外でアクセスする際にこのIPアドレスでアクセスできる。
今回は192.168.33.10
にした
config.vm.network "private_network", ip: "192.168.33.10"
フォルダの共有
mkdir ./share
左がホストOSのディレクトリで、右が対応するゲストOSのディレクトリ
config.vm.synced_folder "share", "/home/vagrant/share"
boxの設定
config.vm.provider "virtualbox" do |vb|
vb.gui = false # GUIなし
vb.cpus = 2 # CPU数
vb.memory = "4096" # メモリ
end
プロビジョニング
この一行でdockerのインストールを行ってくれる。
config.vm.provision "docker"
7. Ubuntu 22.04 起動
6. Vagrantfile で box設定
で作成した作業ディレクトリ内で、単に以下を実行する。
vagrant up
初回のみプラグインの反映のためリロードしろと言われるので起動が終わり次第、以下を実行する。
vagrant reload
起動後、停止したい場合は以下を実行する。
vagrant halt
ターミナル上での SSH 接続は以下を実行する。
vagrant ssh
SSH の設定は以下を実行することで確認できる(vscode のRemote - SSHで接続する際に使用した。)
vagrant ssh-config