Vagrant のファイルを保存するためのフォルダを作成する.Vagrant では仮想マシンごとにフォルダを作成することになる.ここでは,「C:\Users\Rinsaka\MyVagrant\」に仮想マシンごとのフォルダを作成することにする.コマンドプロンプトを起動して,次のようなコマンドを入力し,フォルダを作成する.
C:\Users\Rinsaka>mkdir MyVagrant ⏎ C:\Users\Rinsaka>cd MyVagrant ⏎ C:\Users\Rinsaka\MyVagrant\MyCentOS>
仮想マシンを設定,起動するための Vagrantfile を GitHub (https://github.com/rinsaka/ubuntu2204-vagrantfile) からダウンロードして「C:\Users\Rinsaka\MyVagrant\」 フォルダに設置する.なお,Git のインストールがまだであれば,ここ と ここ を参照して Git をインストールして,ユーザ名などの設定を行なってください.
C:\Users\Rinsaka\MyVagrant>git clone https://github.com/rinsaka/ubuntu2204-vagrantfile.git ⏎ Cloning into 'ubuntu2204-vagrantfile'... remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Compressing objects: 100% (3/3), done. remote: Total 5 (delta 0), reused 5 (delta 0), pack-reused 0 Receiving objects: 100% (5/5), done. C:\Users\Rinsaka\MyVagrant>cd ubuntu2204-vagrantfile ⏎ C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>dir ⏎ ドライブ C のボリューム ラベルは OS です ボリューム シリアル番号は 9018-19A1 です C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile のディレクトリ 2022/10/25 11:59 <DIR> . 2022/10/25 11:59 <DIR> .. 2022/10/25 11:59 21 .gitignore 2022/10/25 11:59 29 README.md 2022/10/25 11:59 144 Vagrantfile 3 個のファイル 194 バイト 2 個のディレクトリ 50,887,368,704 バイトの空き領域 C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
ダウンロードされた中に含まれる Vagrantfile は次のような内容です.Visual Studio Code で覗いてみると良いでしょう.3行目に IP アドレスの設定項目があります.ここでは,仮想マシンに 192.168.56.101 の IP アドレスを設定するように記述しています.もしも複数の仮想マシンを同時に起動するのであれば,192.168.56.102 や 192.168.56.103 のように重複しない IP アドレスを設定すれば良いでしょう.また,特に指定をしなければ仮想マシンのメインメモリは 2GB,プロセッサ数は 2 となります.これらの値を変更したい場合は,5〜8行目の行頭にある #
を削除して,これらの行を有効にした上で適当な値を設定します.
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "generic/ubuntu2204"
config.vm.network "private_network", ip: "192.168.56.101"
# config.vm.provider "virtualbox" do |vb|
# vb.memory = 4096
# vb.cpus = 4
# end
end
コマンドプロンプトを起動して,「C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile」フォルダ内に Vagrantfile ファイルが存在することを確認する.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>dir ⏎
ドライブ C のボリューム ラベルは OS です
ボリューム シリアル番号は 9018-19A1 です
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile のディレクトリ
2022/10/25 11:59 <DIR> .
2022/10/25 11:59 <DIR> ..
2022/10/25 11:59 21 .gitignore
2022/10/25 11:59 29 README.md
2022/10/25 11:59 144 Vagrantfile
3 個のファイル 194 バイト
2 個のディレクトリ 50,887,368,704 バイトの空き領域
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
vagrant status
コマンドで,現在の状態を確認する.まだ仮想マシンが作成されていない (not created) と表示される.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>vagrant status ⏎
Current machine states:
default not created (virtualbox)
The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
次は仮想マシンを作成する.vagrant up
コマンドで仮想マシンのイメージをダウンロードし,起動する.なおこの作業にはかなりの時間(数分以上)を要する.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>vagrant up ⏎ Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'generic/ubuntu2204' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Loading metadata for box 'generic/ubuntu2204' default: URL: https://vagrantcloud.com/generic/ubuntu2204 ==> default: Adding box 'generic/ubuntu2204' (v4.1.16) for provider: virtualbox default: Downloading: https://vagrantcloud.com/generic/boxes/ubuntu2204/versions/4.1.16/providers/virtualbox.box default: default: Calculating and comparing box checksum... ==> default: Successfully added box 'generic/ubuntu2204' (v4.1.16) for 'virtualbox'! ==> default: Importing base box 'generic/ubuntu2204'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'generic/ubuntu2204' version '4.1.16' is up to date... ==> default: Setting the name of the VM: ubuntu2204-vagrantfile_default_1666667207184_29111 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 6.1.38 default: VirtualBox Version: 7.0 ==> default: Configuring and enabling network interfaces... C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
Ubuntu のインストールと起動ができたはずなので,vagrant status
コマンドで状況を確認してみる.今度は動作中 (running) と表示された.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>vagrant status ⏎
Current machine states:
default running (virtualbox)
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
起動した仮想マシンをシャットダウンしてみよう.シャットダウンは vagrant halt
コマンドを利用するだけでよい.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>vagrant halt ⏎
==> default: Attempting graceful shutdown of VM...
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>vagrant status ⏎
Current machine states:
default poweroff (virtualbox)
The VM is powered off. To restart the VM, simply run `vagrant up`
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
シャットダウンした仮想マシンを再度起動してみよう.起動は先ほどと同じ vagrant up
コマンドである.今度はインストールの必要がないので,先程よりも短い時間で起動できる.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>vagrant up ⏎ Bringing machine 'default' up with 'virtualbox' provider... ==> default: Checking if box 'generic/ubuntu2204' version '4.1.16' is up to date... ==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection reset. Retrying... default: Warning: Connection aborted. Retrying... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 6.1.38 default: VirtualBox Version: 7.0 ==> default: Configuring and enabling network interfaces... ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==> default: flag to force provisioning. Provisioners marked to run always will still run. C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
念の為,起動しているかどうかを確認しよう.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>vagrant status ⏎
Current machine states:
default running (virtualbox)
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.
C:\Users\Rinsaka\MyVagrant\ubuntu2204-vagrantfile>
上記のような手順で Ubuntu をインストールすると,vagrant というユーザが登録され,パスワードも vagrant になっていることに注意しよう.