DependsOn vs链接-docker-compose vs ECS任务

问题描述 投票:0回答:1

DependsOn

ECS容器定义的属性用于容器依赖性

docker compose的Links属性提供服务依赖性。


我们正在将docker compose文件映射到ECS任务定义。

从概念上讲,docker中links属性的用途是否类似于ECS容器定义的DependsOn属性?

docker docker-compose amazon-ecs docker-container
1个回答
1
投票

links:是第一代Docker网络设置的重要组成部分。一旦Docker引入了links:系列命令,并且Docker Compose默认情况下建立了专用网络,它就变得不那么重要了,在现代Docker中根本没有任何理由使用它。

Compose有其自己的docker network选项。如果服务depends_on: depends_on:,则当a启动时(可能是因为您明确地depends_on: [b],或者可能只是作为排序约束),可以保证a容器存在。如果docker-compose up a是需要一段时间才能启动的数据库或其他服务,则不能保证它是functional,但是从b的角度来看,例如b将是有效的主机名。查看。

在一个ECS任务中,一个容器可以b其他容器。这类似于Compose a设置,但是它具有一个附加的dependsOn参数,可以支持几个不同的生命周期。值得注意的是,一个容器可以等待另一个容器为dependsOn,这是在Docker Compose中进行的一项检查,它要求等待的容器自己进行手动检查(通常使用depends_on:这样的辅助脚本);如果一个容器只是为另一个容器设置,它也可以等待另一个容器condition

[如果要将Docker Compose文件移植到ECS任务中,我将首先尝试将"condition": "HEALTHY"替换为wait-for-it.sh,这不会引起太多功能更改;将其翻译为ECS,其语义与"condition": "COMPLETE"非常相似。

© www.soinside.com 2019 - 2024. All rights reserved.