2016-02-13 2 views
0

Я работаю в инструменте командной строки, используя boto3 в контейнере, на котором запущен python: 3.4 image, В моем ноутбуке я могу запустить код без проблем, но внутри контейнера I появляется следующее сообщение об ошибке:docker boto3 AWS не смог проверить предоставленные учетные данные доступа

File "/usr/local/lib/python3.4/site-packages/botocore-1.3.26-py3.4.egg/botocore/client.py", line 310, in _api_call 
    return self._make_api_call(operation_name, kwargs) 
    File "/usr/local/lib/python3.4/site-packages/botocore-1.3.26-py3.4.egg/botocore/client.py", line 407, in _make_api_call 
    raise ClientError(parsed_response, operation_name) 
botocore.exceptions.ClientError: An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials 

Я пытался найти причину проблемы, и я нашел возможную причину в часовом поясе синхронизации на грузчике, однако я пытался путем изменения часового пояса, но без какого-либо успеха, это is my Dockerfile:

#Docker container image 
# Set the base image to use to Ubuntu 
FROM python:3.4 

MAINTAINER Dave J. Franco <[email protected]> 

#Update OS 
RUN apt-get update 

#testing timezone 
ENV TZ=America/Santiago 
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 

#Project directory 
RUN mkdir ufl 

#COPY source code 
COPY . /ufl 

WORKDIR /ufl 

#Set permission for ssh keys 
RUN chmod 600 -R data/keys 

RUN python3 setup.py install 

CMD ['ufl'] 
+0

Вы должны включить в вопрос, как вы передаете свои учетные данные коду, поскольку проблема может быть связана с этим (возможно, вне контейнера, вы работаете с вашим пользователем, который имеет учетные данные в каталоге .aws config и т. д.). –

+0

Я пробовал как с переменными среды, так и с помощью aws configure, проблема, похоже, не в том, что сама учетная запись aws не может ее проверить –

ответ

1

Проверьте, что на сервере часы синхронизированы.

Если часы с задержкой, может вызвать эту ошибку:

AWS was not able to validate the provided access credentials 
+0

Я попытался запустить -v/etc/timezone:/etc/timezone: ro on контейнер без успеха –

0

хорошо я нашел способ решить мою проблему путем отображения сайта-пакетов питона от хост-компьютера в контейнер

ex:

docker run it -v ~/project/.pyenv/lib/python3.4/site-packages:/usr/local/lib/python3.4/site-packages \ 
davejfranco/python 

 Смежные вопросы

  • Нет связанных вопросов^_^