默认情况下,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”
Ubuntu是一个以桌面应用为主的Linux操作系统。它是一个开放源代码的自由软件,提供了一个健壮、功能丰富的计算环境,既适合家庭使用又适用于商业环境。Ubuntu将为全球数百个公司提供商业支持。 ...
查看全文Docker采取了一种保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非您明确要求Docker这样做,否则通常不会删除这些对象。这可能会导致Docker使用额外的磁盘空...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,四位知情人士今日透露,亚马逊、微软和谷歌这三大云计算服务提供商,正在竞争波音公司(Boeing)价值10亿美元的云服务合同。 这些...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,多位知情人士今日称,继加州、纽约州和华盛顿州之后,马萨诸塞州和宾夕法尼亚州的总检察长也加入到对亚马逊的反垄断调查中。 如今,越来越...
查看全文
您好!请登录