问题描述
与其他一些人一起,我在使用应用程序的微服务体系结构并以我想要的方式使用docker-compose
时遇到了问题.
Along with a few others, I am having issues using a micro services architecture of applications and employing docker-compose
the way I want to.
摘要:我有X
个微服务项目(可将其称为project A
,project B
和project C
.每个微服务都依赖于相同的容器(可将其称为这些dependency D
和dependency E
.
Summary:I have X
micro service projects (lets call these project A
, project B
and project C
. Each micro service depends on the same containers (lets call these dependency D
and dependency E
.
问题:理想情况下,项目A
,B
和C
将在其docker-compose.yml文件中具有 ALL 两个依赖项(D
& E
);但是,这成为一个问题,因为docker compose将这些容器视为 duplicate 容器,而实际上,我想重用它们.这是常见的错误消息:
The Problem:Ideally, project A
, B
and C
would ALL have both dependencies (D
& E
) in their docker-compose.yml files; however, this becomes an issue as docker compose sees these as duplicate containers when in reality, I would like to reuse them. Here is an error message that is commonly seen:
据我所见,人们建议您在一个项目中定义容器并使用 >和外部链接.尽管这可行,但它会引入对另一个docker-compose yml文件(定义依赖项的文件!)的依赖项.
非单一回购世界中的其他人(特别是微服务)是否有其他方法取得成功?
这是project A
和project B
的2个不同的yml文件的外观:
Here is what 2 different compose yml files look like for project A
and project B
:
version: '2'
services:
dependencyD:
image: dependencyD:latest
container_name: dependencyD
dependencyE:
image: dependencyE:latest
container_name: dependencyE
projectA:
image: projectA:latest
container_name: projectA
depends_on:
- dependencyD
- dependencyE
version: '2'
services:
dependencyD:
image: dependencyD:latest
container_name: dependencyD
dependencyE:
image: dependencyE:latest
container_name: dependencyE
projectB:
image: projectB:latest
container_name: projectB
depends_on:
- dependencyD
- dependencyE
推荐答案
There is a feature called external links. From the docs:
具有多个docker-compose.yml
文件对于将容器组织成有意义的组也是很常见的.也许您的方案可以使用多个YAML文件和外部链接.
Having multiple docker-compose.yml
files is also common to organize containers into meaningful groups. Maybe your scenario can use multiple YAML files and the external links.
这篇关于使用Docker Compose的微服务:相同的容器,多个项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!