2.2.5. IP アドレスおよび命名サービス
Red Hat Quay でコンポーネントのコンテナーを設定し、それらが相互に通信できるようにする方法は多数あります。
コンテナーの IP アドレスの使用:
podman inspect
でコンテナーの IP アドレスを判別してから、接続文字列を指定する際に設定ツールでこれらの値を使用します。以下は例になります。$ sudo podman inspect -f "{{.NetworkSettings.IPAddress}}" postgresql-quay
この方法は、コンテナーの IP アドレスが再起動後に変更されるためにホストの再起動の影響を受けます。
- 命名サービスの使用: (通常は IP アドレスの変更が生じる) コンテナーの再起動後もデプロイメントを維持する必要がある場合は、命名サービスを実装できます。たとえば、dnsname プラグインは、コンテナーが名前で相互を解決できるように使用されます。
-
ホストネットワークの使用:
podman run
コマンドを--net=host
オプションを使用して使用してから、アドレスを設定に指定する際にホストでコンテナーのポートを使用できます。このオプションを使用すると 2 つのコンテナーが同じポートを使用しようとする場合にポートの競合が生じるため、このオプションは推奨されません。 - ポートマッピングの設定: ポートマッピングを使用してホストでポートを公開し、これらのポートをホスト IP アドレスまたはホスト名と組み合わせて使用できます。
本書では、ポートマッピングを使用し、ホストシステムの静的 IP アドレスを使用することを前提としています。このデプロイメントでは、システムの IP アドレス 192.168.1.112
で quay-server.example.com
を使用し、/etc/hosts
ファイルでこの情報を設定します。
$ cat /etc/hosts ... 192.168.1.112 quay-server.example.com
コンポーネント | ポートマッピング | アドレス |
---|---|---|
Quay |
| http://quay-server.example.com |
Postgres for Quay |
| quay-server.example.com:5432 |
Redis |
| quay-server.example.com:6379 |
Postgres for Clair V4 |
| quay-server.example.com:5433 |
Clair V4 |
| http://quay-server.example.com:8081 |