• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

도커 파일 빌드 오류 문의

24.05.18 20:35 작성 24.05.18 21:17 수정 조회수 58

0

도커 파일 빌드 오류 문의입니다.

게시판을 보니 비슷한 오류가 있었던거 같네요

맥에서도 해보고 윈도우에서도 해봤는데 동일하게 안되네요..

오늘 하루종일 빌드만 했네요..

어떤 부분을 잘못 하고 있는지 가이드 부탁합니다..

 

s3 에 사용할 iam 사용자 권한을 별도로 부여했는데요 . 새로 생성된 사용자의 권한 문제로 오류가 나는거 같네요.. 영상에서 한거와 같이 동일하게 했는데..오류가 나네요 혹시 다른 세팅이 있을까요??

 

 

=> ERROR [11/18] RUN python3 download.py 11.1s

------

> [11/18] RUN python3 download.py:

5.085 The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling transformers.utils.move_cache().

0it [00:00, ?it/s]

9.892 downloading reg images...

9.892 BUCKET_NAME:: dev-raymong-lecture-api-uploadsbucketc4b27cc7-547dbvnhp66w

9.899 Traceback (most recent call last):

9.899 File "download.py", line 64, in <module>

9.899 download_model()

9.899 File "download.py", line 20, in download_model

9.899 download_reg_images()

9.899 File "/s3_file_manager.py", line 20, in download_reg_images

9.899 bucket.download_file(filepath, savepath)

9.899 File "/opt/conda/lib/python3.8/site-packages/boto3/s3/inject.py", line 279, in bucket_download_file

9.899 return self.meta.client.download_file(

9.899 File "/opt/conda/lib/python3.8/site-packages/boto3/s3/inject.py", line 192, in download_file

9.899 return transfer.download_file(

9.899 File "/opt/conda/lib/python3.8/site-packages/boto3/s3/transfer.py", line 405, in download_file

9.899 future.result()

9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/futures.py", line 103, in result

9.899 return self._coordinator.result()

9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/futures.py", line 266, in result

9.899 raise self._exception

9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/tasks.py", line 269, in _main

9.899 self._submit(transfer_future=transfer_future, **kwargs)

9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/download.py", line 354, in _submit

9.899 response = client.head_object(

9.899 File "/opt/conda/lib/python3.8/site-packages/botocore/client.py", line 565, in apicall

9.899 return self._make_api_call(operation_name, kwargs)

9.899 File "/opt/conda/lib/python3.8/site-packages/botocore/client.py", line 1021, in makeapi_call

9.899 raise error_class(parsed_response, operation_name)

9.899 botocore.exceptions.ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden

------

Dockerfile:32

--------------------

30 | ADD s3_file_manager.py .

31 | ADD download.py .

32 | >>> RUN python3 download.py

33 |

34 | ADD convert_diffusers_to_original_stable_diffusion.py .

--------------------

ERROR: failed to solve: process "/bin/sh -c python3 download.py" did not complete successfully: exit code: 1

View build details: docker-desktop://dashboard/build/default/default/hu4bblbekud4p75go1rdofetm

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.18

안녕하세요, 인프런 AI 인턴입니다.

propose101101님, Docker 빌드 중 발생한 오류에 대해 문의주셨군요.

말씀하신 오류는 Python 스크립트 download.py를 실행하는 과정에서 S3에서 파일을 다운로드하려 할 때 권한 문제로 인해 발생한 것으로 보입니다. 이와 유사한 문제로 고민하시는 분들이 종종 계시는데요, 도커파일 빌드 중 오류 질문드립니다에서 비슷한 상황에 대해 다뤄진 적이 있습니다.

해당 링크에는 도커파일을 빌드할 때 발생하는 다양한 이슈와 그에 대한 질문이 포함되어 있습니다. 특히 네트워크 환경 변경 후 오류가 해결된 사례가 있어, 이 경우와 유사하게 네트워크 설정이나 S3 권한 설정을 확인해볼 필요가 있습니다.

도커 빌드 과정에서 권한 문제로 인해 발생하는 오류는 대체적으로 AWS S3 버킷의 접근 권한 설정, AWS 권한 관리 (IAM) 설정을 잘못 설정했거나, 도커에서 사용하는 AWS 자격 증명 정보가 정확하지 않을 때 발생할 수 있습니다.

따라서 다음의 사항을 확인해보시면 도움이 될 것 같습니다:

  1. AWS S3 버킷 권한 설정: S3 버킷에 대한 접근 권한이 올바르게 설정되었는지 확인해보시기 바랍니다. 특히 download.py 스크립트가 접근하려는 버킷 및 객체에 대한 읽기 권한이 있는지 확인이 필요합니다.
  2. AWS IAM 권한 확인: Docker 내부에서 실행되는 AWS 관련 명령어가 사용하는 IAM 사용자 또는 역할에 S3 접근 권한이 있는지 확인해보시기 바랍니다.
  3. 환경 변수 설정 확인: 도커 컨테이너에서 사용하는 AWS 자격 증명 정보가 올바르게 설정되어 있는지 검토해보시기 바랍니다. 도커 빌드 과정에서 환경 변수를 통해 AWS 자격 증명 정보를 넘겨주는 방식이 적절히 구성되어 있는지 확인해볼 필요가 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ai가 알려준거 와 같이 권한 문제가 맞습니다.

admin 권한으로 발급된 키로 하면 오류가 없습니다 그런데 강의 중에 s3에만 접근하는 iam을 추가 생성하여 시도 하면 오류가 발생됩니다.

영상에 나와있는걸 모두 하셨다고 하셔서 해당되지는 않으시겠지만 혹시나하는 생각에 여쭤봅니다. 혹시 S3 버킷에 권한을 주고 그 다음 그 버킷에 있는 파일들에도 따로 권한을 추가하셨나요?