云计算核心技术Docker教程:Docker上ECS集成Compose功

2021-08-03 08:47  |  来源:会员发布  |  编辑:张璠  |  

日志

应用程序日志可以通过容器获取docker compose logs。Docker ECS 集成依赖 AWS CloudWatch Logs 从所有容器收集日志。CloudWatch 可以logging.driver_opts 通过传递前缀为awslogs-.

test:

image: mycompany/webapp

logging:

driver-opts:

awslogs-datetime-pattern: "some-pattern"

暴露端口

当一个或多个服务公开端口时,将为应用程序创建一个负载均衡器。由于所有服务都通过同一个负载均衡器公开,因此只有一个服务可以公开给定的端口号。Compose 文件中定义的源端口和目标端口必须相同,因为服务到服务的通信不通过负载均衡器,并且无法从 Listeners 抽象中受益以分配不同的发布端口。

test:

image: mycompany/webapp

ports:

- target: 8080

持久卷

Docker 卷映射到 EFS 文件系统。卷可以是外部的(name然后必须设置为文件系统 ID),也可以在首次部署应用程序时创建。docker compose down不会删除文件系统,它将在以后运行时重新附加到应用程序。 driver_opts可用于调整 EFS 文件系统。

无论用户配置为运行容器,都可以通过设置用于写入文件系统的用户和组 ID 来自定义卷挂载以解决 Posix 文件系统权限问题。

services:

myservice:

image: mycompany/webapp

volumes:

- mydata:/mount/testvolumes

volumes:

mydata:

driver_opts:

performance-mode: maxIO

throughput-mode: bursting

uid: 0

gid: 0

秘密

机密可以在撰写文件中定义,并且需要在撰写文件旁边的部署时可用的机密文件。秘密文件的内容将在选定的容器内可用,默认情况下在/run/secrets/lt;SECRET_NAMEgt;. 也支持外部机密,name然后必须将其设置为机密的 ARN

services:

nginx:

image: mycompany/webapp

secrets:

- mysecret

secrets:

mysecret:

file: ./my_secret1.txt

容器资源

CPU 和内存限制可以在 compose.yml 中设置。这些用于选择与这些限制匹配的最小Fargate 大小。

services:

nginx:

image: mycompany/webapp

deploy:

resources:

limits:

cpu: '0.5'

memory: 2Gb

上一篇: 三星GalaxyWatch4Classic实拍图曝光:边框更窄,黑/银两 下一篇:返回列表
ad4
ad3