I am setting up a multistage build in Docker where I need to pull some data from a remote image. In that remote image, I see they installed the AWS CLI using the following set of commands in order to get it into an Alpine-based image:
RUN apk --no-cache add python3 && \
pip3 install awscli && \
aws --version
The copy say it's just fine
COPY --from=remote_setup /usr/bin/terraform /usr/bin/terraform
COPY --from=remove_setup /usr/bin/aws /usr/bin/aws
Terraform here runs peachy, but AWS does not. The output looks like this:
/ # 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
If I add python3, I then get this error:
/ # aws --version
Traceback (most recent call last):
File "/usr/bin/aws", line 19, in <module>
import awscli.clidriver
ModuleNotFoundError: No module named 'awscli'
Is there a trick to copying over all the data from a command in that particular layer to my new one or for simplicity's sake should I just install Python and the AWS CLI myself in my image?
Thanks!