本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
分析 Amazon ECS 应用程序
在 xray-ecs
该项目包括三个 Dockerfile,用于为 API、前端和 X-Ray 守护程序组件定义容器映像。
-
/Dockerfile
– Scorekeep API。 -
/scorekeep-frontend/Dockerfile
– Angular Web 应用程序客户端,以及路由传入流量的 nginx 代理。 -
/xray-daemon/Dockerfile
– X-Ray 守护程序。
X-Ray 守护程序 Dockerfile 根据运行 X-Ray 守护程序的 Amazon Linux 创建映像。在 Docker Hub 上下载完整的示例映像
例 Dockerfile – Amazon Linux
FROM amazonlinux RUN yum install -y unzip RUN curl -o daemon.zip https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip RUN unzip daemon.zip && cp xray /usr/bin/xray ENTRYPOINT ["/usr/bin/xray", "-t", "0.0.0.0:2000", "-b", "0.0.0.0:2000"] EXPOSE 2000/udp EXPOSE 2000/tcp
同一目录中的 makefile 定义用于构建映像、将映像上传到 Amazon ECR 以及本地运行映像的命令。
要在 Amazon ECS 上运行容器,分支中需要包括生成 Dockerrun.aws.json
文件的脚本,您可以将该文件部署到 Elastic Beanstalk 中的多容器 Docker 环境。脚本使用的模板
Dockerrun.aws.json
是 Amazon ECS 任务定义文件的 Elastic Beanstalk 版本。如果您不想使用 Elastic Beanstalk 创建 Amazon ECS
集群,可以修改 Dockerrun.aws.json
文件,从文件中移除 AWSEBDockerrunVersion
键,这样该文件就可以直接在 Amazon ECS 上运行。
有关如何将 Scorekeep 部署到 Amazon ECS 的说明,请参阅分支 README