プライベート、インターン先の企業、プロジェクト毎に別の仮想マシンを使い分ける方法について解説しますが、自分自身Vagrant初心者なので間違っている事があるかもしれません。
必要なものをインストールする
はじめに、必要なソフトをインストールします。
VS Code
VirtualBox
Vagrant
拡張機能の追加
VS Codeのインストール後に追加してください。
Remote - SSH
仮想マシンの作成
$ mkdir Vagrant
などでフォルダを作成しておきます。
作成したフォルダに移動して
$ cd Vagrant
プロジェクトのフォルダを作成します。
$ mkdir Project-qiita
作成したらそのフォルダに移動します。
$ cd Project-qiita
Vagrantファイルの作成
$ vagrant init
Vagrantfile の編集
VS Code を開く
$ code .
VS Codeが起動したらVagrantfile
を選択します。
OSの選択
Vagrant BoxesでインストールしたいOSを探します。ここではbento/ubuntu-20.04
にします。
決まったらVSCode
に戻って、15行目を
config.vm.box = "bento/ubuntu-20.04"
のように書き換えます。
その他の設定
config.vm.box = "bento/ubuntu-20.04"
の下に
config.vm.box = "bento/ubuntu-20.04"
config.vm.hostname = "project-qiita"
config.vm.network "private_network", ip: "192.168.33.12"
config.vm.provider "virtualbox" do |vb|
config.vm.hostname = "project-qiita"
vb.memory = "6000"
end
-
config.vm.network "private_network" ip:"192.168.33.12
は一代目の仮想マシンなら192.168.33.10
二代目なら192.168.33.11
のようにします -
vb.memory
で使用するメモリ量を指定します。
sshの設定
その他の設定の下に
config.vm.network "forwarded_port", guest: 22, host: 2222, host_ip: "127.0.0.2"
を設定します。ココのipも同じように一代目なら127.0.0.1
二代目なら127.0.0.2
のようにします。
設定できたら上書き保存します。
起動する
コンソールに戻って
$ vagrant up
で起動します。
VSCodeから接続する
VS Codeの
ここからSSH Targets
を選択します。
SSH Targetsが選択できたら
+
ボタンをクリックして
ssh vagrant@127.0.0.1 -p 2222
のように入力します。
@の後ろはVagrantfile
で設定したipを設定します。
設定から
をクリックして
Host
を分かりやすい名前に変更します。
Host Project-qiita
HostName 127.0.0.4
User vagrant
Port 2222
一度コンソールに戻り
$ vagrant ssh-config
を実行し、
IdentityFile C:******
の行をコピーし、
VSCodeに貼り付けます。
Host Project-qiita
HostName 127.0.0.4
User vagrant
Port 2222
IdentityFile C:/Users/****/vagrant/Project-qiita/.vagrant/machines/default/virtualbox/private_key
のようになったら、保存して
二回目以降の起動
二回目以降は作成したプロジェクトのディレクトリに移動してvagrat up
したら、VSCodeで同じくファイルアイコンをクリックします。
localhostへのアクセス
ホストのブラウザからゲストのwebページなどを確認するには、VSCode
上でCtrl + @
を入力し、
ポート
をクリックします。
ポートの追加からゲストOS側のポートを入力します。するとホストOS側のブラウザ等から
ローカルアドレス
列にあるURLでアクセスできるようになります。