Huny's Dev Blog

Docker ECR 사용 시 no basic auth credentials 오류 원인과 해결법

aws configure와 docker login이 정상인데도 docker pull 또는 docker push 시no basic auth credentials 오류가 발생할 수 있다. 이 글에서는 AWS 공식 문서에서 다루는 일반적인 원인 외에,sudо 사용으로 인한 인증 문제를 중심으로 정리한다.
Hun Jang
Hun JangOct 13, 2025
Docker ECR 사용 시 no basic auth credentials 오류 원인과 해결법

1. 기본적인 원인

AWS 공식 문서(ECR 오류 가이드)에서는

다음과 같은 상황을 일반적인 원인으로 설명한다.

  • ECR 리포지토리 URI가 잘못됨
  • 로그인 토큰 만료
  • 권한 부족 (HTTP 403)

이 경우 문서의 가이드에 따라 재인증(aws ecr get-login-password)을 수행하면 해결된다.

2. 그 외의 원인 — sudo 사용 시 인증 문제

문제는 docker login은 정상인데 docker pull이나 docker push에서만 no basic auth credentials가 반복될 때 발생한다.

이 경우 Docker 명령을 실행하는 사용자 권한이 달라졌을 가능성이 높다.

상황 예시

  • docker login은 일반 사용자 계정으로 실행
  • docker pullsudo docker pull로 실행

이때 sudoroot 사용자로 명령을 실행하기 때문에,

로그인 시 저장된 인증 정보(~/.docker/config.json)와 다른 사용자의 환경을 사용하게 된다.

그 결과 인증이 누락되어 no basic auth credentials 오류가 발생한다.

3. 해결 방법

방법 1: 모든 Docker 명령에 sudo를 일관되게 사용

sudo docker login ...
sudo docker pull <ECR_URI>
sudo docker push <ECR_URI>
bash

단, 매번 sudo를 쓰는 것은 번거롭다.

방법 2: sudo 없이 Docker를 실행하도록 설정

# 1. docker 그룹 추가 (이미 있다면 생략)
getent group docker || sudo groupadd docker

# 2. 현재 사용자를 docker 그룹에 추가
sudo usermod -aG docker $USER

# 3. 세션 갱신
newgrp docker

# 4. 테스트
docker ps
bash

이후 docker login, docker pull, docker push 명령을 모두 sudo 없이 실행할 수 있다.

AWS CLI의 자격 증명(~/.aws/credentials)도 정상적으로 인식된다.

요약:

  • no basic auth credentials 오류는 단순 인증 만료 외에도 sudo 사용으로 인해 발생할 수 있다.
  • 해결책은 sudo 없이 Docker를 사용할 수 있도록 현재 사용자를 docker 그룹에 추가하는 것이다.
  • 이 설정 이후에는 AWS CLI와 Docker 인증 체계가 동일 사용자 환경에서 동작하여 문제를 방지할 수 있다.

Docker ECR 사용 시 no basic auth credentials 오류 원인과 해결법 | Huny's Dev Blog