仮想開発環境の構築トップページ


Vagrant から Ubuntu をインストールする

準備作業(フォルダ作成)

Vagrant のファイルを保存するためのフォルダを作成する.Vagrant では仮想マシンごとにフォルダを作成することになる.ここでは,「C:\Users\Rinsaka\MyVagrant\」に仮想マシンごとのフォルダを作成することにする.コマンドプロンプトを起動して,次のようなコマンドを入力し,フォルダを作成する.

C:\Users\Rinsaka>mkdir MyVagrant ⏎
C:\Users\Rinsaka>cd MyVagrant ⏎
C:\Users\Rinsaka\MyVagrant\MyCentOS>

Vagrantfile をダウンロードする

仮想マシンを設定,起動するための 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

Ubuntu を起動する

コマンドプロンプトを起動して,「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 になっていることに注意しよう.