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 ⏎