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 7.2 系 https://github.com/rinsaka/centos7vagrantfile にアクセスする.「Code」をクリックし,「Download ZIP」をクリックしてダウンロードする.
ダウンロードした ZIP ファイルを右クリックして,「すべて展開」する.
適当な場所に展開する.
展開したフォルダと,「C:\Users\Rinsaka\MyVagrant\MyCentOS」フォルダを開き,展開したファイルを「C:\Users\Rinsaka\MyVagrant\MyCentOS」に移動(またはコピー)する.
ファイルを移動した状態
移動した Vagrantfile を Visual Studio Code で覗いてみる.37行目に 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/24 14:23 <DIR> .
2021/03/24 14:23 <DIR> ..
2021/03/24 14:23 <DIR> .vagrant
2021/03/24 14:18 1,089 README.md
2021/03/24 14:18 3,257 Vagrantfile
2 個のファイル 4,346 バイト
3 個のディレクトリ 106,689,757,184 バイトの空き領域
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 'centos/7' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'centos/7'
default: URL: https://vagrantcloud.com/centos/7
==> default: Adding box 'centos/7' (v2004.01) for provider: virtualbox
default: Downloading: https://vagrantcloud.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box
Download redirected to host: cloud.centos.org
default:
default: Calculating and comparing box checksum...
==> default: Successfully added box 'centos/7' (v2004.01) for 'virtualbox'!
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'centos/7' version '2004.01' is up to date...
==> default: Setting the name of the VM: MyCentOS_default_1616563906868_56974
==> 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: No guest additions were detected on the base box for this VM! Guest
default: additions are required for forwarded ports, shared folders, host only
default: networking, and more. If SSH fails on this machine, please install
default: the guest additions and repackage the box to continue.
default:
default: This is not an error message; everything may continue to work properly,
default: in which case you may ignore this message.
==> default: Configuring and enabling network interfaces...
==> default: Rsyncing folder: /cygdrive/c/Users/Rinsaka/MyVagrant/MyCentOS/ => /vagrant
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 'centos/7' version '2004.01' 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 aborted. Retrying...
default: Warning: Connection reset. Retrying...
default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: No guest additions were detected on the base box for this VM! Guest
default: additions are required for forwarded ports, shared folders, host only
default: networking, and more. If SSH fails on this machine, please install
default: the guest additions and repackage the box to continue.
default:
default: This is not an error message; everything may continue to work properly,
default: in which case you may ignore this message.
==> default: Configuring and enabling network interfaces...
==> default: Rsyncing folder: /cygdrive/c/Users/Rinsaka/MyVagrant/MyCentOS/ => /vagrant
==> 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 ⏎