4.13. アンダークラウドのコンテナーレジストリー

Red Hat Enterprise Linux 8.4 には、Docker Registry v2 をインストールするための docker-distribution パッケージが含まれなくなりました。互換性および同じ機能レベルを維持するために、director のインストールでは Apache Web サーバーおよび image-serve という仮想ホストが作成され、これによりレジストリーが提供されます。このレジストリーでも、SSL を無効にしたポート 8787/TCP が使用されます。Apache ベースのレジストリーはコンテナー化されていません。したがって、以下のコマンドを実行してレジストリーを再起動する必要があります。

$ sudo systemctl restart httpd

コンテナーレジストリーのログは、以下の場所に保存されます。

  • /var/log/httpd/image_serve_access.log
  • /var/log/httpd/image_serve_error.log.

イメージのコンテンツは、/var/lib/image-serve から提供されます。この場所では、レジストリー REST API のプル機能を実装するために、特定のディレクトリーレイアウトおよび apache 設定が使用されています。

Apache ベースのレジストリーでは、podman push コマンドも buildah push コマンドもサポートされません。つまり、従来の方法を使用してコンテナーイメージをプッシュすることはできません。デプロイ中にイメージを変更するには、ContainerImagePrepare パラメーターなどのコンテナー準備ワークフローを使用します。コンテナーイメージを管理するには、コンテナー管理コマンドを使用します。

openstack tripleo container image list
レジストリーに保存されているすべてのイメージをリスト表示します。
openstack tripleo container image show
レジストリーの特定イメージのメタデータを表示します。
openstack tripleo container image push
イメージをリモートレジストリーからアンダークラウドレジストリーにプッシュします。
openstack tripleo container image delete
レジストリーからイメージを削除します。