Linux(RHEL8)で内部桟橋レジストリにプッシュを使用しようとしたときにpodman
実行すると、podman push
次のような「Bearer Token」のエラーが発生します。
podman login -u="quay_robot_username" -p="quay_robot_password" quay.companydomain.com
Login Succeeded!
podman push f8f914cef1ce0cc6314355ae5d16c6d5faf96e595fa1332cf40d26f9c53b9c07 quay.companydomain.com/organization/repository/a890f2e
Getting image source signatures
Error: trying to reuse blob sha256:0c23ed2428e1ef41fdb571789f6968dd47c95135311b1c8bf56462c98581694b at destination: Requesting bearer token: invalid status code from registry 400 (Bad Request)
ユーザー名とパスワードは、dockerリポジトリへの書き込み権限を持つdockerボットを使用しています。
Authorization: Bearer <mytoken>
私はquayがhttpリクエストヘッダを探していることを知っています。
podman push
ヘッダーにフォワーダトークンがあることを確認するには、生成されたhttpリクエストのヘッダーを確認することをお勧めします。ただし、エラーが発生した場合は存在しないと仮定します。
2つの質問:
- まだ保有者トークンがない場合、どのように取得できますか?
私の桟橋組織でOauthアプリを作成し、そこからアクセストークンを作成しました。カール要求でこれを正常に使用できました。
curl -X GET -H "Authorization: Bearer <mytoken>" https://quay.companydomain.com/api/v1/repository/organization/myrepository/tag/ | jq
このトークンはに適用されますかpodman push
?
- トークンがある場合は、
podman push
コマンドのhttpリクエストにどのように含めますか?
注:私はこれをgithubタスクから始めましたが、単純化するためにコマンドラインで動作しようとしました(どちらにしても同じエラーが発生します)。