В моем файле Docker ниже приведен код, когда мой код Python выполняется с использованием AWS Cloud Formation & Pipeline, он создает .txt file (abc.txt) under /proj
.
FROM python:3
WORKDIR /proj
Сеанс Docker завершается, когда завершается выполнение задания Python. Итак, непосредственно перед завершением работы с Python я хочу скопировать файл abc.txt (из Docker) в корзину AWS S3. Это возможно? Как мне этого добиться.
Уже пробовал это
RUN aws s3 COPY /proj/ s3://filepath_on_s3
Первые 2 строки моего файла Docker:
FROM python:3
WORKDIR /proj
Решение : Сниже строки кода теперь я могу перенести мой файл (который находится в docer vm) в корзину S3. Необходимо настроить awscli на докере, после чего с помощью boto3 в PY-коде используется команда upload_file.
####Docker file
RUN apt-get update && apt-get install -y awscli
ENV AWS_ACCESS_KEY_ID=ABBXXXXXXXXXXXXXXX
ENV AWS_SECRET_ACCESS_KEY=XARXXXXXXXXXXXXXXx
ENV AWS_DEFAULT_REGION=us-west-2
###Python code
s3 = boto3.resource('s3')
s3.Bucket('Mybucket').upload_file('/proj/'+logfile, 'Logs/'+logfile)