SSAMKO의 개발 이야기

[docker]boto3 사용시 Unable to locate credentials 에러 해결 본문

Docker

[docker]boto3 사용시 Unable to locate credentials 에러 해결

SSAMKO 2021. 9. 7. 23:08
반응형

docker와 boto3 혹은 botcore를 사용할 때, 아래와 같은 에러가 발생한다.
botocore.exceptions.NoCredentialsError: Unable to locate credentials
~/.aws/credential에 접근할 수 없어서 발생하는 에러인데,
이때는 크게 두 가지 방법으로 해결할 수 있다.

먼저, 단순히 docker run 커맨드를 이용해서 docker를 사용중인 경우에는

docker run -v ~/.aws/:/root/.aws:ro {your_image} -e AWS_PROFILE=default

위와 같이 실행시켜주면 된다.

만약, docker-compose를 사용중이라면,

services: 
  app:
    image: {docker-image-name}:latest
    volumes:
      - ~/.aws/:/root/.aws/:ro

이렇게 이미지를 사용하거나

services: 
  app:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
      - ~/.aws/:/root/.aws/:ro

이렇게 build와 command를 사용할 수 있다. (위 예제는 django)

반응형
Comments