programing

도커 계정에 로그인할 수 없습니다.

linuxpc 2023. 8. 4. 22:43
반응형

도커 계정에 로그인할 수 없습니다.

OS: Ubuntu 18.04 Server
Docker 18.3 CE

Windows 10 노트북에서 PuTTY SSH 세션을 사용하여 서버에 로그온합니다.

로컬 Windows 랩톱에 Docker가 없으므로 모든 작업이 원격 서버에서 수행됩니다.

터미널 세션을 사용하여 원격 서버에서 모든 도커 명령을 실행할 수 있습니다.

그러나 이미지를 Docker 허브에 저장하려고 할 때 로그인하려고 할 때 다음을 사용합니다.

docker login

다음 오류 메시지가 표시됩니다.

error getting credentials - err: exit status 1, out: `GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files`

원격 서버에 이미지를 만들 때 오류 메시지가 표시되지 않았습니다.

또한 원격 서버의 관련 홈 디렉터리에 .docker 폴더가 표시되지 않습니다.아이디어 있어요?

2019-04-07 편집:

이것이 현재 선택된 답이기 때문에, 저는 사람들이 아래의 @Anish Varghese 솔루션이 가장 쉬울 것 같기 때문에 먼저 시도해야 한다고 생각합니다.gnupg2 및 pass 패키지만 설치하면 됩니다.

sudoapt 설치 gnupg2 패스

문제가 해결되지 않으면 여기에서 기존 솔루션을 사용해 볼 수 있습니다.

저도 같은 문제가 있었습니다. bak2track 답변은 작동했지만, credential을 clear text로 저장했습니다.암호 저장소에 보관하려면 다음과 같은 방법이 있습니다.

https://github.com/docker/docker-credential-helpers/releases 에서 도커-실속성-패스를 다운로드합니다.

2)tar -xvf docker-credential-pass.tar.gz

3)chmod u+x docker-credential-pass

4)mv docker-credential-pass /usr/bin

도커-실속성-패스를 설정해야 합니다(자세한 단계는 https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-388634452) 을 기반으로 합니다).

5.1) gpg를 통과시킵니다.apt-get install gpg pass)

5.2)gpg --generate-key정보를 입력합니다.다음과 같은 내용이 표시됩니다.

pub   rsa3072 2018-10-07 [SC] [expires: 2020-10-06]
      1234567890ABCDEF1234567890ABCDEF12345678

123... 라인 복사

5.3)pass init 1234567890ABCDEF1234567890ABCDEF12345678 (소리)

5.4)pass insert docker-credential-helpers/docker-pass-initialized-check다음 암호 "패스 is initialized"(따옴표 없이)를 설정합니다.

5.5)pass show docker-credential-helpers/docker-pass-initialized-check패스가 초기화되어 있습니다.

5.6)docker-credential-pass list

다음을 사용하여 ~/.vmdker/config.json을 생성합니다.

{
"credsStore": "pass"
}

이제 도커 로그인이 작동해야 합니다.

참고: 나중에 실행할 때 "패스 저장소가 초기화되지 않았습니다" 오류가 발생하면 다음 명령을 실행합니다(패스 저장소가 메모리에 다시 로드됨).

pass show docker-credential-helpers/docker-pass-initialized-check

암호를 묻고 암호 저장소를 초기화합니다.

이는 다음 논의를 기반으로 합니다. https://github.com/moby/moby/issues/25169#issuecomment-431129898

ubuntu에 다음 패키지 설치 문제 해결

sudo apt install gnupg2 pass

Ubuntu 18.08에서 동일한 문제에 직면했고 마침내 이것이 저에게 효과가 있었습니다.임시방편으로

는 이 .home/.docker/에서 파일을 을 생성할 수 .config.json기본 자격 증명을 작성합니다.

{
    "credsStore": "pass"
}
  • 는 이 파일을 했습니다.config.json.
  • 그런 다음 도커-자격 증명-비밀 서비스의 이름을 다른 서비스로 변경하여 이 파일을 선택하지 않습니다.

    sudmv /usr/bin/computer-interial-interial-service /usr/bin/computer-interial-interial-interialservice_x

그리고 그게 효과가 있었어!

이 작업은 Ubuntu 18에서 수행됩니다.

docker logout
mv ~/.docker/config.json ~/.docker/config_old.json
docker login

방금 ~/.docker/config.json을 삭제하고 로그인을 다시 시도했습니다.그건 효과가 있다.새 파일이 생성됩니다.

이것은 적어도 Ubuntu 20.04에서 도움이 될 수 있습니다.

wget https://github.com/docker/docker-credential-helpers/releases/download/v0.6.3/docker-credential-secretservice-v0.6.3-amd64.tar.gz && tar -xf docker-credential-secretservice-v0.6.3-amd64.tar.gz && chmod +x docker-credential-secretservice && mv docker-credential-secretservice /usr/local/bin/

https://hackernoon.com/getting-rid-of-docker-plain-text-credentials-88309e07640d  https://github.com/docker/docker-credential-helpers/releases

apt install gnupg2 패스가 작동하지 않으면 golang-docker-credential-helper 패키지도 설치할 수 있습니다.

저는 이 문제(헤드 없는 Ubuntu 20, 16,18에서 업그레이드됨)가 있었지만 다른 답변은 제게 효과가 없었습니다.마지막으로, 여기에 게시된 몇 가지 토론을 읽은 후에 문제가 있다는 것을 발견했습니다. gnome-key ring이 설치되었지만 제대로 작동하지 않는다는 것입니다.이것은 헤드가 없기 때문에 정답은 gnome-keyring을 제거하는 것이었습니다(Organ.free 데스크톱을 제공했기 때문에).그리고 완벽하게 작동했습니다.

sudo apt remove gnome-keyring golang-docker-credential-helpers

나에게 가장 간단한 해결책은 사용자 홈 디렉토리 내부의 .docker 디렉토리 아래에 config.json 파일을 만드는 것이었습니다.

/home/.computer/config.json

그런 다음 도커 허브에 로그인할 수 있는 서버에서 이 파일의 내용을 복사했습니다.

{
        "auths": {
                "https://index.docker.io/v1/": {
                        "auth": "SOMEVALUE"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.06.1-ce (linux)"
        }

}

프로덕션 서버에서 쉽게 할 수 없는 패키지를 설치하거나 업데이트할 필요가 없기 때문에 쉽게 해결할 수 있습니다.

간단한 솔루션: 제거하기만 하면 됩니다."credsStore": "secretservice"~/.vmdker/config.json 파일입니다.

sudo로 스크립트를 실행함으로써 저의 문제는 해결되었습니다!

sudo docker login -u YOU-USERNAME

나를 위해.docker push했습니다.

denied: requested access to the resource is denied

그래서 저는 하고 싶었습니다.docker login자격 증명을 입력한 후 다음을 받았습니다.

Remote error from secret service:
  org.freedesktop.DBus.Error.UnknownMethod:
  No such interface 'org.freedesktop.Secret.Collection' on object at path
  /org/freedesktop/secrets/collection/login

Error saving credentials:
  error storing credentials - err: exit status 1, out:
  No such interface 'org.freedesktop.Secret.Collection' on object at path
  /org/freedesktop/secrets/collection/login

다행히도, 저는 시스템을 변경하지 않고 로그인할 수 있는 다른 컴퓨터를 사용할 수 있었습니다.는 의내을복사다니의 했습니다.~/.docker/config.json...

{
        "auths": {
                "https://index.docker.io/v1/": {
                        "auth": "<some-hash-value>"
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.09.2 (linux)"
        }
}

로, 그리고 기에계다른.docker push일했다.

Try: 그해요세보:sudo apt install golang-docker-credential-helpers

, 을 읽었지만 18 않다는 입니다. 이것이 우분투 18+ 입니다. 그것이 나중에 이유입니다.apt upgrade상황이 조금 다르게 작용합니다.

답변에 이어 몇 가지 문제가 있었습니다.

  1. 키 생성이 엔트로피에 고정되었습니다(5.2단계).

다행히도 수정은 쉽고 패키지만 설치하면 됩니다.rng-tools: https://stackoverflow.com/a/32941065

  1. pass init <key>(5.3단계) 오류gpg: decryption failed: No secret key나타났어요

실제로 이 문제는 비밀 키가 루트 권한으로 제한되기 때문입니다.

소유권을 변경했습니다..gnupg .password-store내 사용자의 홈디어에 있는 폴더.

그런 다음 "안전하지 않은 소유권" 경고를 피하기 위해 dirmgr을 다시 로드했습니다.

gpgconf --kill dirmngr

모든 작업을 수행하지 않으려면 응답의 모든 명령을 root/sudo로 실행할 수 있습니다.

나에게 우분투 20.04

sudo apt install golang-docker-credential-helpers

효과가 있습니다

자격 증명 저장소가 없습니다.Gnome 키링을 사용해 보십시오. Linux 설치에 따라 이미 설치되어 있을 수 있습니다.GK를 사용하여 인증 데이터를 Crom{e,ium}(및 그 이상)에 안전하게 저장할 수 있습니다.도커로 돌아가려면 다음과 같은 .docker/config.json이 필요합니다.

{
    "credsStore": "secretservice"
}

그런 다음 키링의 잠금을 해제하도록 PAM을 구성했는지 확인합니다. https://wiki.archlinux.org/index.php/GNOME/Keyring#PAM_method

sudo apt install gnupg2 pass저는 저를 위해 일하지 않았고 매번 앞에 스도를 추가하지 않고 도커를 사용했습니다.그래서 추가했습니다.sudo docker login -u <myusername>그것은 나에게 패스를 유도했고 이번에는 도커에 스도를 사용했기 때문에 작동했습니다.

만약 당신이 여전히 이 문제에 갇혀 있다면, 시도해 보세요.sudo docker login <site>

패키지 제거docker-compose최신 버전을 수동으로 설치하여 문제를 해결했습니다.

제거된 도커 구성:

sudo apt remove docker-compose

여기 https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-debian-10 에 표시된 대로 최신 버전을 설치했습니다.

sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

저는 다음과 같은 것들을 만들었습니다.

AWS_CONFIG=$AWS_DIR/config
AWS_CREDENTIALS=$AWS_DIR/credentials
mkdir -p $AWS_DIR

제 경우, 이 오류는 /var/run/docker 파일에 대한 모든 사용자에게 읽기 및 쓰기 액세스 권한을 부여한 후 해결되었습니다.양말:

sudo chmod 666 /var/run/docker.sock

ubuntu에 다음 패키지 설치

sudo apt install gnupg2 pass

이것은 나에게 효과가 있습니다.

언급URL : https://stackoverflow.com/questions/50151833/cannot-login-to-docker-account

반응형