18.3. authfile を使用したコンテナーでの Skopeo の実行

認証ファイル (authfile) を使用して認証情報を指定できます。skopeo login コマンドは、特定のレジストリーにログインし、認証トークンを authfile に保存します。authfiles を使用する利点は、認証情報を繰り返し入力する必要がないことです。

同じホストで実行する場合、Sopeo、Buildah、Podman などのすべてのコンテナーツールで同じ authfile を共有します。コンテナーで Skopeo を実行する場合は、コンテナーに authfile をボリュームマウントしてホスト上で authfile を共有するか、コンテナー内で再認証する必要があります。

前提条件

  • container-tools メタパッケージがインストールされている。

手順

  • ロックされたレジストリーに対して Skopeo を使用してリモートコンテナーイメージを検証します。

    $ podman run --rm -v $AUTHFILE:/auth.json registry.redhat.io/rhel9/skopeo inspect docker://$IMAGE

    -v $AUTHFILE:/auth.json オプションの volume-mounts は、コンテナー内の /auth.json に authfile をマウントします。Skopeo は、ホストの authfile の認証トークンにアクセスでき、レジストリーにセキュアにアクセスできるようになります。

その他の Skopeo コマンドは、以下の例のように機能します。

  • skopeo-copy コマンドで --source-creds および --dest-creds オプションを使用して、ソースおよび宛先のイメージに、コマンドラインで認証情報を指定します。また、/auth.json の authfile も読み取ります。
  • ソースイメージおよび宛先イメージに個別の authfile を指定する場合は、--source-authfile オプションおよび --dest-authfile オプションを使用し、ホストからコンテナーにこれらの authfile をボリュームマウントします。