前回の記事では、vagrantを使用して仮想マシンを起動する方法を見てきました。この記事では、要件に応じてvagrantファイルをカスタマイズすることに焦点を当て、vagrantを操作するための重要なコマンドを確認します。
新しいVagrantプロジェクトディレクトリを作成する
新しいプロジェクトフォルダ「vagrant_testing」を作成しましょう 」とこの実行の下で、 vagrant init 新しいプロジェクトを設定するコマンド。
$ mkdir ~/vagrant_testing $ vagrant init -m "ubuntu/focal64"
下の画像から、-m
を使用して最小限の構成ファイルを作成したことがわかります。 vagrant initでフラグを立てる コマンド。
$ cat Vagrantfile

それでは、次のパラメータを変更して、vagrantファイルに追加しましょう。
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box_check_update = false config.vm.allow_hosts_modification = true config.vm.define "ubuntu" do |vmbox| vmbox.vm.box = "ubuntu/focal64" vmbox.vm.define "Ubuntu" vmbox.vm.hostname = "shelltips-vagrant" vmbox.vm.network "public_network", bridge: "Intel(R) Dual Band Wireless-AC 7265", ip: "192.168.1.100" vmbox.vm.synced_folder ".", "/vagrant/", disabled: true vmbox.vm.synced_folder "/home/karthick/shelltips", "/vagrant/shelltips", disabled: false vmbox.vm.provider "virtualbox" do |vmvbox| vmvbox.memory = "2048" vmvbox.cpus = 2 end end end
これらすべてのパラメータの使用法について説明しましょう。
config.vm.box_check_update =false | |
config.vm.allow_hosts_modification =true | vagrantが/etc/hostsファイルを更新できるようにする |
vmbox.vm.box =" ubuntu / focus64” | |
vmbox.vm.define“ Ubuntu” | VMの名前。名前を定義しない場合は、「デフォルト」が割り当てられます。 |
vmbox.vm.hostname =" shelltips-vagrant” | VMのホスト名を設定する |
vmbox.vm.synced_folder。、“ / vagrant”、disabled:true vmbox.vm.synced_folder“ / home / karthick / shelltips”、“ / vagrant / shelltips”、無効:false | 同期フォルダを設定します。デフォルトの同期フォルダをオフにして、カスタマイズしたフォルダを追加します。「disabled:true/false」を設定する必要があります共有フォルダをオンまたはオフにします。 |
vmbox.vm.network“ public_network”、bridge:“ Intel(R)Dual Band Wireless-AC 7265」、ip:「192.168.1.100」 | 仮想ネットワークをブリッジアダプタモードに設定し、IPアドレスを割り当てます。Virtualboxには5つの異なるネットワークモードがあり、用途に応じて選択できます。ケース。 |
vmbox.vm.provider“ virtualbox” do | vmvbox | | VMのメモリとCPUコアの定義 |
ここで、 vagrant upを実行すると コマンドを実行すると、vagrantファイルで宣言したカスタムパラメータに従って仮想マシンが構成されます。
SSHからVagrant仮想マシンへ
次に、仮想マシンに接続するには、「 vagrant ssh」を実行するだけです。 " 指図。複数のマシンがある場合は、IDまたは名前を使用して特定のマシンに接続できます。この情報は、グローバルステータスから取得できます。 コマンド。
$ vagrant ssh $ vagrant ssh [id|name]

ホスト名も更新され、vagrantファイルで指定されたIPアドレスも作成されます。
$ ip a s $ hostname

Vagrant仮想マシンが起動したら、virtualbox GUIマネージャーに移動して、すべての構成が定義された値に従っているかどうかを確認できます。

ここで、仮想マシンに対してパスワードベースの認証を有効にする場合は、VMで次のコマンドを実行します。これにより、パスワード認証がtrueに設定されます。
$ sudo sed -i "/^[^#]*PasswordAuthentication[[:space:]]no/c\PasswordAuthentication yes" /etc/ssh/sshd_config $ sudo service sshd restart
vagrant sshを実行する代わりに 、従来のssh接続コマンドを実行できます。
$ ssh [email protected] ⇒ Bridged Network $ ssh vagrant@localhost -p 2222 ⇒ Nat Network

実行中のVMを停止するには、次のコマンドを実行します。
$ vagrant halt ⇒ Gracefully shutdown the VM $ vagrant suspend [name|id] ⇒ Put the Machine into a suspended state $ vagrant resume [name|id] ⇒ Resume the suspended VM
これで、実行中のマシンができました。 Vagrant構成ファイルのパラメーターを突然変更することにした場合は、マシンをリロードする必要があります。
$ vagrant reload
vagrant reloadsコマンドは、VMを正常に停止し、新しい構成がある場合はVMを起動します。
VagrantBoxの更新
次のコマンドを実行して、ボックスが最新であるかどうかを確認できます。
$ vagrant box outdated --global ==> check for an outdated version of all boxes in your machine

アップデートをダウンロードするには、次のコマンドを実行します。ここで注意すべき重要な点は、現在実行しているボックスには更新が適用されないことです。現在のボックスを破棄し、新しくダウンロードした更新されたボックスを起動する必要があります。
$ vagrant box update --box ubuntu/focal64 --provider Virtualbox
VagrantBoxを破棄する
Vagrant Boxを破棄するには、 Vagrant destroyを実行します コマンド。ディスクイメージを含むすべてのファイルを削除しますが、ダウンロードしたボックスをvagrantサイトから削除しません。
$ vagrant destroy [name|id]

VagrantBoxを削除する
Vagrant Boxを削除するには、次のコマンドを実行します。
$ vagrant box remove ubuntu/focal64

次の記事では、シェルプロビジョナーを使用してVagrantBoxのデプロイを自動化する方法を見ていきます。