前回の記事では、Linuxディストリビューションでvagrantを設定する方法を見てきました。この記事では、Vagrantプロジェクトを作成して、Vagrantボックスをインストールし、ゲストマシンを構成し、Vagrantのコアな側面と重要な構成およびコマンドを理解する方法を学習します。
Vagrant Boxとは何ですか?
Vagrant Boxは、Vagrant環境用のパッケージ形式です。 vagrantで使用する仮想マシンをダウンロードまたはパッケージ化すると、ボックス形式になります。私がボックスと言うとき このシリーズ全体を通して、私は仮想マシンについて言及しています。 。
ボックスを入手するには2つの方法があります 。独自のカスタムボックスを作成して他のユーザーと共有し、同じ環境を使用するか、vagrantサイトからボックスをダウンロードできます。

すでにパッケージ化されて使用できる状態になっているvagrantサイトでホストされているボックスがあります。このサイトでは、さまざまなボックスフレーバー(CentOS、Ubuntu、Archなど)を検索できます。また、プロバイダーを選択することもできます。 (ここでは VirtualBoxを使用しています プロバイダーとして)。
Vagrantプロジェクト環境のセットアップ
プロジェクトの作成を開始して、vagrantボックスをダウンロードしましょう。ターミナルを開き、次のコマンドを実行してプロジェクトディレクトリを作成します。このディレクトリは、ファイルシステム内の任意の場所に作成できます。
$ mkdir ~/vagrant_project
次に、新しく作成したディレクトリに移動して、 vagrant initを実行します。 コマンド。プロジェクトディレクトリにvagrant構成ファイルを作成します。
$ vagrant init

次に、vagrantファイルを開きます。これは、 vagrant initを実行したときにvagrantによって作成されたテンプレートファイルです。 指図。このファイルには、ボックス関連のすべての構成情報が保存されます。
$ cat Vagrantfile

VagrantとVirtualBoxを使用して仮想マシンをインストールする
現時点で気にする必要があるのは、単一のパラメーター「 config.vm.box」を変更することだけです。 」。このパラメータは、vagrantサイトからボックスをダウンロードする処理を行います。 Ubuntu20.04をダウンロードします 箱。放浪者で、「 Ubuntu20」をサイト検索します 」と入力し、プロバイダーを設定します Virtualboxへ 下の画像に示すように。

サイトからボックスをクリックすると、vagrantファイルで構成するボックス名を取得できます。

次に、 vagrant initを使用してボックス名を引数として渡します。 Vagrantファイルにボックス名を自動的に設定するコマンド。
$ vagrant init generic/ubuntu2004 ==> Create a vagrant config file $ vagrant init -m generic/ubuntu2004 ==> Create a vagrant config file without helper and comments $ vagrant init -f generic/ubuntu2004 ==> Override existing vagrant file
これで、ボックスをダウンロードするための必須パラメーターが構成されました。次に、「vagrantupコマンド」を実行します 」、Vagrant構成ファイルを読み取り、ボックスをダウンロードしてプロビジョニングします。
$ vagrant up
すべてがうまくいけば、下の画像に示すような出力が表示されます。これらの出力を理解して、仮想マシンの構成について理解することが重要です。

Vagrantfileに従ってゲストマシンを構成します
vagrant upからの出力を分解してみましょう コマンド。
1。 最初の行はプロバイダーになります 名前、 Virtualbox はデフォルトのプロバイダーであり、それを指しています。
Bringing machine 'default' up with 'virtualbox' provider...
2。 すべてのボックスとvagrant関連のファイルは.vagrant.d
の下に保存されます ホームフォルダの下のディレクトリ。 Vagrantは、名前付きボックス( generic / ubuntu2004 )は、このディレクトリの下ですでに利用可能であり、そうでない場合は、vagrantサイトに接続して、ボックスをダウンロードします。この場合、私はすでに ubuntu2004を持っています 放浪者のサイトからダウンロードしたので、ボックスをインポートするだけです。
$ ls -l ~/.vagrant.d/boxes/
3。 ボックスが起動すると、更新を確認します。これをオフにするには、Vagrantfileで次のパラメータを設定できます。
config.vm.box_check_update = false

4。 デフォルトでは、仮想マシンのネットワークモードは NATに設定されます SSHへのポート転送が有効になります ホストから マシーン。これは構成可能であり、さまざまなネットワークモードを選択するオプションがあります。

5。 各ボックスには2人のユーザーしか利用できません。 1つはルートです 2つ目はvagrant ユーザー。デフォルトのユーザー名とパスワードはvagrant 。
パスワードベースの認証はデフォルトでオフになっており、公開鍵と秘密鍵のペアが自動的に生成され、起動時に仮想マシンにコピーされ、ボックスへの接続に使用されます。
Username = vagrant Password = vagrant

次のコマンドを実行して、ボックスのssh構成を確認できます。下の画像から、パスワード認証がオフになっていて、ユーザーが vagrantに設定されていることがわかります。 ポートフォワーディングは2222に設定されています 。
$ vagrant ssh-config

6。 一部のボックスは、共有フォルダーをVMにマウントしようとします。共有フォルダーを機能させるには、VMにゲスト追加機能をインストールする必要があります。ローカルマシンの現在のディレクトリ(プロジェクトディレクトリ)は、 / vagrantでマウントされます。 リモートマシンで。
上記のすべての手順から、vagrantが何をしているのかがわかるかもしれません。これらの手順はすべて、virtualboxでVMを手動でセットアップするときに処理されます。ここでは、vagrantがこれらすべてのステップを自動化された方法で処理しています。
これで、単一または複数のVMが実行されている可能性があり、ステータスを確認するには、次のコマンドを実行します。以下を使用して、マシン内のすべてのvagrantボックスの名前、プロバイダー、状態、ID、およびディレクトリ情報を取得できます。
$ vagrant global-status --prune

これで、vagrantが何をするのかをかなり理解できるようになりました。次の記事では、重要なvagrantコマンドと、ボックスに接続して作業する方法について説明します。