aws / aws-app-mesh-examples

AWS App Mesh is a service mesh that you can use with your microservices to manage service to service communication.
MIT No Attribution
864 stars 395 forks source link

"/bin/sh: yum: command not found" while implementing "howto-mutual-tls-file-provided" in the walkthroughs #512

Open 77-more opened 2 years ago

77-more commented 2 years ago

Issue description: While implementing the walk through available at "howto-mutual-tls-file-provided" at step #3 I came across the below error.

/bin/sh: yum: command not found

I was able to work around this issue by using the below Dockerfile instead.

FROM public.ecr.aws/appmesh/aws-appmesh-envoy:v1.23.1.0-prod as envoy 
FROM public.ecr.aws/amazonlinux/amazonlinux:2

RUN yum update -y && \
    yum install -y jq curl unzip less && \
    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
    unzip awscliv2.zip && \
    ./aws/install && \
    rpm -e --nodeps unzip && \
    rm -rf awscliv2.zip ./aws/install && \
    yum clean all && \
    rm -rf /var/cache/yum

COPY --from=envoy /usr/bin/envoy /usr/bin/envoy
COPY --from=envoy /usr/bin/agent /usr/bin/agent
COPY --from=envoy /aws_appmesh_aggregate_stats.wasm /aws_appmesh_aggregate_stats.wasm

RUN mkdir /keys && chown 1337:1337 /keys 

ENV AWS_DEFAULT_REGION=us-west-2
COPY entryPoint.sh /bin/entryPoint.sh
CMD ["/bin/entryPoint.sh"]

The Dockerfile has to be updated in the walkthrough to include the line "FROM public.ecr.aws/amazonlinux/amazonlinux:2" so that the yum commands will work.

suniltheta commented 2 years ago

Thanks for noticing this. Please feel free to raise a PR if you got the walkthrough working with the necessary changes needed.

Update: Ignore below

Also we might have to update the entrypoint commend from

CMD ["/bin/entryPoint.sh"]

to

CMD ["/usr/bin/agent"]

since the version v1.21