このシリーズの途中で終了しました。この時点で、 Vagrantが何であるかをよく理解しているかもしれません。 Vagrantでプロビジョナーを使用する方法とその方法。
これまで、vagrantクラウドサイトからダウンロードしたビルド済みのvagrantボックスを使用しています。一部のボックスは、ランプが付属するスコッチボックスなど、さまざまな目的に使用できるように事前構成されています。 スタック、単一ノードのCDHHadoopディストリビューションに付属するtrusty64cdh。上記のようなボックスを作成して、同じプロジェクトで一緒に作業しているコミュニティや仲間のオタクと共有することもできます。
ここでは、vagrantボックスを作成する2つの方法があります。任意のハイパーバイザーを選択し、ゲストOSを手動でインストールし、OSを強化してから、ボックス形式にパッケージ化できます。または、vagrantクラウドですでに利用可能なボックスをダウンロードし、要件に応じてカスタマイズして、ボックス形式に再パックすることもできます。これは、ボックスを最初から作成する場合に比べて非常に簡単です。
新しいVagrantBoxの作成
1。 使用するボックスを選択してください。私の場合、ubuntu/focal64ボックスをダウンロードしています。新しいディレクトリを作成し、 vagrant initを実行します コマンド。
$ mkdir ubuntu $ cd rebuild $ vagrant init -m "ubuntu/focal64"
2。 vagrant init を実行して、仮想マシンを起動します コマンド。
$ vagrant init
3。 次を使用してゲスト仮想マシンに接続します:
$ vagrant ssh
パスワードベースを有効にする 必要に応じて認証を行います。デフォルトでは無効になっています。
$ sudo sed -i "/^[^#]*PasswordAuthentication[[:space:]]no/c\PasswordAuthentication yes" /etc/ssh/sshd_config $ sudo service sshd restart
4。 PostgreSQLをインストールしたい この仮想マシンで再ボックス化してください。
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install postgresql
Postgresとして切り替えます ユーザーとタイプpsql
シェルに接続します。これで、すべてがうまくいけば、インストールは成功します。
$ sudo su - postgres $ psql
5。 ボックスを再梱包する前に、より良い圧縮を実現するために、基盤となるドライブをゼロにする必要があります。
$ sudo dd if=/dev/zero of=/EMPTY bs=1M $ sudo rm -f /EMPTY
既存のVagrantBoxを使用して新しいVagrantBoxを作成する
6。 次のコマンドを実行して、既存の仮想マシンから新しいボックスを作成します。
$ vagrant package --output ubuntu_repacked.box
7。 上の画像を見てください。新しいボックスが「ubuntu_repacked.box」で作成されていることがわかります。 」。ここで、このボックスをvagrantに追加してインポートする必要があります。
$ vagrant box add repacked ubuntu_repacked.box
8。 これで、このボックスを使用して、新しいゲスト仮想マシンを起動できます。新しいプロジェクトディレクトリを作成し、 vagrant initを実行します 。
$ mkdir repacked $ cd repacked $ vagrant init -m "repacked" $ vagrant up
上の画像から、作成した再梱包されたボックスをインポートしていることがわかります。仮想マシンに接続し、psql
を実行します PostgreSQLで動作するコマンド。
$ vagrant ssh $ sudo su - postgres $ psql
この記事は終わりです。既存のvagrantボックスからボックスを作成する方法を説明しました。この例では、VagrantボックスにPostgreSQLをインストールする方法を示しました。リアルタイムのユースケースは何でもかまいません。このプロセスは非常に便利です。