4.11. アンダークラウドのコンテナーレジストリー
Red Hat Enterprise Linux 8.1 には、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
パラメーターなどのコンテナー準備ワークフローを使用します。コンテナーイメージを管理するには、コンテナー管理コマンドを使用します。
- sudo openstack tripleo container image list
- レジストリーに保存されているすべてのイメージを一覧表示します。
- sudo openstack tripleo container image show
- レジストリーの特定イメージのメタデータを表示します。
- sudo openstack tripleo container image push
- イメージをリモートレジストリーからアンダークラウドレジストリーにプッシュします。
- sudo openstack tripleo container image delete
- レジストリーからイメージを削除します。
すべてのコンテナーイメージ管理コマンドを sudo
レベルの権限で実行する必要があります。