Vagrant のファイルを保存するためのフォルダを作成する.Vagrant では仮想マシンごとにフォルダを作成することになる.ここでは,「C:\Users\Rinsaka\MyVagrant\」に仮想マシンごとのフォルダを作成することにする.コマンドプロンプトを起動して,次のようなコマンドを入力し,フォルダを作成する.
C:\Users\Rinsaka>mkdir MyVagrant ⏎ C:\Users\Rinsaka>cd MyVagrant ⏎ C:\Users\Rinsaka\MyVagrant>mkdir MyCentOS ⏎ C:\Users\Rinsaka\MyVagrant>cd MyCentOS ⏎ C:\Users\Rinsaka\MyVagrant\MyCentOS>
仮想マシンを設定,起動するための Vagrantfile を 「C:\Users\Rinsaka\MyVagrant\MyCentOS」 フォルダに設置する.これは,林坂が GitHub に公開しているファイルをダウンロードするとよい.
GitHub の CentOS 8 系 https://github.com/rinsaka/centos8vagrantfile にアクセスする.「Code」をクリックし,「Download ZIP」をクリックしてダウンロードする.
ダウンロードした ZIP ファイルを右クリックして,「すべて展開」する.
適当な場所に展開する.
展開したフォルダと,「C:\Users\Rinsaka\MyVagrant\MyCentOS」フォルダを開き,展開したファイルを「C:\Users\Rinsaka\MyVagrant\MyCentOS」に移動(またはコピー)する.
ファイルを移動した状態
移動した Vagrantfile を Visual Studio Code で覗いてみる.35行目に IP アドレスの設定項目がある.ここでは,仮想マシンに 192.168.33.110 の IP アドレスを設定するように記述している.もしも,複数の仮想マシンを同時に起動するのであれば,192.168.33.111 や 192.168.33.112 のように重複しない IP アドレスを設定すれば良い.
ここからはコマンドプロンプトを使って作業する.コマンドプロンプトを起動して,「C:\Users\Rinsaka\MyVagrant\MyCentOS」フォルダに移動する.
C:\Users\Rinsaka>cd MyVagrant ⏎ C:\Users\Rinsaka\MyVagrant>cd MyCentOS ⏎ C:\Users\Rinsaka\MyVagrant\MyCentOS>
「C:\Users\Rinsaka\MyVagrant\MyCentOS」に Vagrantfile ファイルが存在することを確認する.
C:\Users\Rinsaka\MyVagrant\MyCentOS>dir ⏎ ドライブ C のボリューム ラベルは OS です ボリューム シリアル番号は 9018-19A1 です C:\Users\Rinsaka\MyVagrant\MyCentOS のディレクトリ 2021/03/26 09:20 <DIR> . 2021/03/26 09:20 <DIR> .. 2021/03/26 09:18 10 .gitignore 2021/03/26 09:18 3,934 README.md 2021/03/26 09:18 3,014 Vagrantfile 3 個のファイル 6,958 バイト 2 個のディレクトリ 108,366,692,352 バイトの空き領域 C:\Users\Rinsaka\MyVagrant\MyCentOS>
vagrant status
コマンドで,現在の状態を確認する.また,仮想マシンが作成されていない (not created) と表示される.
C:\Users\Rinsaka\MyVagrant\MyCentOS>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\MyCentOS>
次は仮想マシンを作成する.vagrant up
コマンドで仮想マシンのイメージをダウンロードし,起動する.なおこの作業にはかなりの時間(数分以上)を要する.
C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant up ⏎ Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'generic/centos8' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Loading metadata for box 'generic/centos8' default: URL: https://vagrantcloud.com/generic/centos8 ==> default: Adding box 'generic/centos8' (v3.2.10) for provider: virtualbox default: Downloading: https://vagrantcloud.com/generic/boxes/centos8/versions/3.2.10/providers/virtualbox.box Download redirected to host: vagrantcloud-files-production.s3-accelerate.amazonaws.com default: default: Calculating and comparing box checksum... ==> default: Successfully added box 'generic/centos8' (v3.2.10) for 'virtualbox'! ==> default: Importing base box 'generic/centos8'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'generic/centos8' version '3.2.10' is up to date... ==> default: Setting the name of the VM: MyCentOS_default_1616718282623_49645 ==> 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: 5.2.44 default: VirtualBox Version: 6.1 ==> default: Configuring and enabling network interfaces... C:\Users\Rinsaka\MyVagrant\MyCentOS>
CentOS のインストールと起動ができたはずなので,vagrant status
コマンドで状況を確認してみる.今度は動作中 (running) と表示された.
C:\Users\Rinsaka\MyVagrant\MyCentOS>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\MyCentOS>
起動した仮想マシンをシャットダウンしてみよう.vagrant halt
コマンドを利用するだけでよい.
C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant halt ⏎
==> default: Attempting graceful shutdown of VM...
C:\Users\Rinsaka\MyVagrant\MyCentOS>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\MyCentOS>
シャットダウンした仮想マシンを再度起動してみよう.起動は先ほどと同じ vagrant up
コマンドである.今度はインストールの必要がないので,先程よりも短い時間で起動できる.
C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant up ⏎ Bringing machine 'default' up with 'virtualbox' provider... ==> default: Checking if box 'generic/centos8' version '3.2.10' 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: 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: 5.2.44 default: VirtualBox Version: 6.1 ==> 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\MyCentOS>
念の為,起動しているかどうかを確認しよう.
C:\Users\Rinsaka\MyVagrant\MyCentOS>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\MyCentOS>
上記のような手順で CentOS をインストールすると,vagrant というユーザが登録され,パスワードも vagrant になっていることに注意しよう.
コマンドプロンプトを使って vagrant up
を実行したときに,マウントに関するエラーが表示されることがある.そのまま使っても問題ないが,エラーを解消するためには vagrant-vbguest
プラグインをインストールするとよい.
C:\Users\Rinsaka>cd MyVagrant ⏎ C:\Users\Rinsaka\MyVagrant>cd MyCentOS ⏎ C:\Users\Rinsaka\MyVagrant\MyCentOS>vagrant plugin install vagrant-vbguest ⏎