Creating an X-Ray daemon Docker image
Before our application can publish X-Ray tracing information, you must deploy an X-Ray daemon that your application can send this information to. Our goal is to run the X-Ray daemon using AWS Fargate, but before we can do that, we need to create a Docker image that will run the daemon. AWS provides examples of how to build an X-Ray daemon image, and we will following a similar approach to what is documented by AWS by creating a file called Dockerfile.xray
in the root of the todobackend-aws
repository:
FROM amazonlinux
RUN yum install -y unzip
RUN curl -o daemon.zip https://s3.dualstack.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-2.x.zip
RUN unzip daemon.zip && cp xray /usr/bin/xray
ENTRYPOINT ["/usr/bin/xray", "-b", "0.0.0.0:2000"]
EXPOSE 2000/udp
You can now build this image locally by using the docker build
command, as demonstrated here:
> docker build -t xray -f Dockerfile.xray .
Sending build context...