Podman이 부두로 푸시하면 "전달자 토큰 요청: 레지스트리 400의 잘못된 상태 코드(잘못된 요청)"가 발생합니다.

Podman이 부두로 푸시하면 "전달자 토큰 요청: 레지스트리 400의 잘못된 상태 코드(잘못된 요청)"가 발생합니다.

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 요청의 헤더를 확인하는 것이 좋습니다 . 그러나 오류가 발생하면 존재하지 않는 것으로 가정합니다.

두 가지 질문:

  1. 아직 보유자 토큰이 없다면 어떻게 얻을 수 있나요?

내 부두 조직에서 Oauth 앱을 만들고 거기에서 액세스 토큰을 생성했습니다. 컬 요청에서 이를 성공적으로 사용할 수 있었습니다.

curl -X GET -H "Authorization: Bearer <mytoken>" https://quay.companydomain.com/api/v1/repository/organization/myrepository/tag/    | jq

이 토큰이 에 적용됩니까 podman push?

  1. 토큰이 있으면 이를 podman push명령의 http 요청에 어떻게 포함합니까?

참고: 저는 이것을 github 작업에서 시작했지만 단순화하기 위해 명령줄에서 작동시키려고 했습니다(어느 쪽이든 동일한 오류가 발생합니다).

관련 정보