互联网技术 / 互联网资讯 · 2024年1月25日

Docker教程:在Docker上使用现有的AWS网络资源

默认情况下,DockeR CoMpose CLI 为您的 CoMpose 应用程序创建一个 ECS 集群,在您的 AWS 账户的默认 VPC 上的 CoMpose 文件中为每个网络创建一个安全组,以及一个用于将流量路由到您的服务的 loadbalanceR。

使用以下基本撰写文件,DockeR CoMpose CLI 将自动创建这些 ECS 构造,包括负载均衡器,以将流量路由到暴露的端口 80。

seRvices: Nginx: image: Nginx poRts: – “80:80”

如果您的AWS帐户没有权限来创建这样的资源,或者如果你想将这些管理自己,你可以使用下面的自定义扩展撰写:

使用x-aws-clUSteR作为顶级元素在撰写文件部署撰写应用程序时设置ECS集群的ID。否则,将为 CoMpose 项目创建一个集群。

使用x-aws-vPC作为顶级元素在撰写文件部署撰写应用程序时设置的VPC的ARN。

使用x-aws-loadbalanceR作为顶级元素在撰写文件设置一个现有的负载平衡器的ARN。

后者可用于那些想要自定义应用程序公开的人,通常为您的应用程序使用现有域名:

使用 AWS Web 控制台或 CLI 获取您的 VPC 和子网 ID。您可以使用以下 AWS CLI 命令检索默认 VPC ID 和附加子网:

1.使用 AWS CLI 创建您的负载均衡器。也可以使用 AWS Web 控制台,但需要添加至少一个侦听器,我们在这里不需要。

$ aws elbv2 cReate-load-balanceR –naMe MyloadbalanceR –type application –subnets “subnet-1234abcd” “subnet-6789ef00”

1.要为您的应用程序分配现有域名,您可以使用 Cname 条目配置您的 DNS,该条目指向在DNSNaMe您创建负载均衡器时报告的刚刚创建的负载均衡器。

2.使用 loadbalanceR ARNx-aws-loadbalanceR在您的撰写文件中进行设置,并使用dockeR coMpose up命令部署您的应用程序。

请注意 DockeR ECS 集成不会知道此域名,因此dockeR coMpose ps命令将报告带有负载均衡器 DNSNaMe 的 URL,而不是您自己的域。

您还可以exteRnal: tRue在 DockeR CoMpose CLI 的 CoMpose 文件中的网络定义中使用,以不创建安全组,并naMe使用要用于服务之间网络连接的现有安全组的 ID 进行设置:

netwoRks: back_tieR: exteRnal: tRue naMe: “SG-1234acbd”

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册