LXCコンテナを作成して開発用PostgreSQLをインストールする

yasuです。

最近、仕事関係で色々あって、Javaの学習を始めました。
Geminiに聞きまくりながら、わからないなりにコードを書いています。

で、そろそろDBアクセスのコードを書くのにPostgreSQLをインストールしたかったのですが、クライアントPCにデータベースエンジンをインストールするのは嫌だなと思い、せっかくならProxmox VEにLXCコンテナを立ててそこにPostgreSQLをインストールしてみることにしました。

目次(クリックで開閉)

テンプレートダウンロード

LXCコンテナを作成するにはテンプレートが必要ということで、ダウンロードしていきます。
Proxmoxの管理画面にアクセスしたら、ノードの下のディスク「nfs0」を選択して、[CTテンプレート]をクリックします。
Proxmoxのローカルディスクにダウンロードしたい場合は「local」を選択すれば大丈夫です。

テンプレート一覧ダイアログが表示されるので、導入したいテンプレートを選択して[ダウンロード]ボタンをクリックします。
ここでは「almalinux-10-default」を選択しています。

テンプレートのダウンロードが終わると「TASK OK」と表示されるので、ダイアログ右上のバツボタンをクリックしてダイアログを閉じます。

LXCコンテナ作成

Proxmox管理画面の右上にある[CTを作成]ボタンをクリックします。

LXCコンテナを作成するノード(サーバー)とID(CT ID)、ホスト名、パスワードを選択・入力して、[次へ]ボタンをクリックします。

LXCコンテナのテンプレートを選択します。
先程ダウンロードした「nfs0」に入っている「almalinux-10-default」を選択して、[次へ]ボタンをクリックします。

LXCコンテナを格納するストレージと仮想ディスクサイズを選択・設定して、[次へ]ボタンをクリックします。

LXCコンテナのCPUコア数を設定して、[次へ]ボタンをクリックします。

LXCコンテナのメモリとスワップサイズを設定して、[次へ]ボタンをクリックします。

LXCコンテナのネットワークの名前とブリッジ、IPアドレス(CIDR形式)とゲートウェイアドレスを選択・入力して、[次へ]ボタンをクリックします。

DNSドメイン名とDNSサーバーのIPアドレスを入力して、[次へ]ボタンをクリックします。

[作成後に起動]にチェックを付けて、[完了]ボタンをクリックします。
LXCコンテナの作成が始まります。

LXCコンテナの作成が完了したら「TASK OK」が表示されるので、ダイアログ右上のバツボタンをクリックします。

LXCコンテナ sshの設定

作成した直後のAlmaLinux10 LXCコンテナはSSH接続ができず不便なので、SSHサーバーの設定を行います。
Proxmox管理画面から作成したノードの下のLXCコンテナを選択し、[コンソール]をクリックします。

ログインユーザーは[root]、パスワードはコンテナ作成時に設定したパスワードを入力しログインします。

openssh-serverをインストールして、サービスを起動します。

sshdを起動&自動起動するようにします。

rootユーザーでsshログインを許可をする設定をします。

設定を反映するためにsshdを再起動します。

Windows PCなどからLXCコンテナにsshで接続します。

LXCコンテナ PostgreSQLインストール

ssh接続できたら、LXCコンテナにPostgreSQLをインストールします。

インストールが終わったら、データベースを初期化します。

PostgreSQLを起動と自動起動するように設定します。

他のPCからPostgreSQLにアクセスできるように設定ファイルを2つ変更します。

PostgreSQLを再起動して、変更した設定ファイルを反映させます。

PostgreSQL テスト用データベースとユーザー 作成

PostgreSQLにテスト用データベース「test_db」とユーザー「test_user」を作成していきます。

最後に

Proxmoxを使い始めて数年経ちますが、始めてLXCコンテナを作成してみました。
意外と簡単でしたので、ちょっとした環境を作りたい、でもローカルのPCの環境は汚したくないっていうときに、LXCコンテナは便利ですね。

コメントする