2.2. コンテナーを使用して、単一のホスト上で複数の MariaDB および MySQL インスタンスを実行する
パッケージから MariaDB または MySQL をインストールする場合、同じホスト上でこれらのサービスのうち 1 つのみ、かつその 1 つのバージョンのみを実行できます。代わりに、コンテナー内でサービスを実行することもできます。
次のような環境を構成できます。
- 同じホスト上で MariaDB または MySQL の複数のインスタンスを実行したい。
- MariaDB と MySQL の両方を同じホストで実行したい。
データベースサーバーのコンテナー名とホストポートが異なっている必要があります。
前提条件
-
podmanパッケージがインストールされている。
手順
Red Hat カスタマーポータルアカウントを使用して、
registry.redhat.ioレジストリーに対して認証します。# podman login registry.redhat.ioすでにコンテナーレジストリーにログインしている場合は、このステップをスキップしてください。
使用するコンテナーを起動します。
MariaDB 10.11:
$ podman run -d --name <container_name_1> -e MARIADB_ROOT_PASSWORD=<password> -p <host_port_1>:3306 rhel10/mariadb-1011このコンテナーイメージを使用する方法の詳細は、Red Hat Ecosystem Catalog を参照してください。
MariaDB 11.8:
$ podman run -d --name <container_name_2> -e MARIADB_ROOT_PASSWORD=<password> -p <host_port_2>:3306 rhel10/mariadb-118このコンテナーイメージの使用方法に関する詳細は、Red Hat Ecosystem Catalog を 参照してください。
MySQL 8.4:
$ podman run -d --name <container_name_3> -e MYSQL_ROOT_PASSWORD=<password> -p <host_port_3>:3306 rhel10/mysql-84このコンテナーイメージを使用する方法の詳細は、Red Hat Ecosystem Catalog を参照してください。
クライアントがネットワーク上のデータベースサーバーにアクセスできるように、ファイアウォールでホストポートを開きます。
# firewall-cmd --permanent --add-port={<host_port_1>/tcp,<host_port_2>/tcp,...} # firewall-cmd --reload
検証
データベースサーバーに接続し、root としてログインします。
# mysql -u root -p -h localhost -P <host_port> --protocol tcpオプション: 実行中のコンテナーに関する情報を表示します。
$ podman ps