Я настраиваю многоступенчатую сборку в Docker, где мне нужно извлечь некоторые данные из удаленного образа. В этом удаленном образе я вижу, что они установили AWS CLI, используя следующий набор команд, чтобы превратить его в образ на основе Alpine:
RUN apk --no-cache add python3 && \
pip3 install awscli && \
aws --version
Копия говорит, что все в порядке
COPY --from=remote_setup /usr/bin/terraform /usr/bin/terraform
COPY --from=remove_setup /usr/bin/aws /usr/bin/aws
Terraform здесь отлично работает, а AWS - нет. Результат выглядит так:
/ # terraform -v
Terraform v0.12.2
/ # ls -lh /usr/bin | grep aws
-rwxr-xr-x 1 root root 817 Jun 19 19:51 aws
/ # aws --version
/bin/sh: aws: not found
Если я добавлю python3, то получу эту ошибку:
/ # aws --version
Traceback (most recent call last):
File "/usr/bin/aws", line 19, in <module>
import awscli.clidriver
ModuleNotFoundError: No module named 'awscli'
Есть ли уловка для копирования всех данных из команды в этом конкретном слое на мой новый, или для простоты я должен просто установить Python и интерфейс командной строки AWS в свой образ?
Спасибо!