Packerを使用して VirtualBox イメージを作成しています。
その後、VM を起動し、ssh を使用して VM に接続したいと考えています。GUI を使用してポート フォワーディングを有効にする方法は知っていますが、自動化する方が好きなので、Packer にそれを任せる方法を探しています。
VM をネットワークに接続する方法として NAT を使用しています。
一部のポートを VM に転送するように Packer に指示するにはどうすればよいですか?
VirtualBox のコマンドライン ツールVBoxManageを使用してポート フォワーディングを有効にする方法を見た後、次の構成を自分の .xml で思いつきましたpackerConfig.json
。
"type": "virtualbox-iso",
"vboxmanage": [
[ "modifyvm", "{{.Name}}", "--memory", "1024" ],
[ "modifyvm", "{{.Name}}", "--cpus", "1" ],
[ "modifyvm", "{{.Name}}", "--natpf1", "guest_ssh,tcp,,3022,,22" ]
]
...
最後の部分では、VirtualBox がトラフィックをホストの 3022 からゲストの 22 に転送します。
これはssh -p 3022 me@127.0.0.1
、VM に接続できることを意味します。