当前位置: 首页 > 面试题库 >

多个docker-compose项目之间的通信

冷正青
2023-03-14
问题内容

docker-compose.yml在两个不同的文件夹中有两个单独的文件:

  • ~/front/docker-compose.yml
  • ~/api/docker-compose.yml

如何确保in中的容器front可以将请求发送到in中的容器api

我知道--default-gateway可以docker run为单个容器设置选项,以便可以为该容器分配特定的IP地址,但是使用时似乎没有此选项docker-compose

目前,我最终做了一个,docker inspect my_api_container_id然后查看输出中的网关。它可以工作,但问题是该IP是随机分配的,因此我不能依靠它。

因此,此问题的另一种形式可能是:

  • 我可以使用docker-compose将固定IP地址分配给特定容器吗?

但最后我要照顾的是:

  • 两个不同的docker-compose项目如何相互通信?

问题答案:

您只需要确保要互相交谈的容器在同一网络上即可。网络是一流的docker构造,并不特定于组合。

# front/docker-compose.yml
version: '2'
services:
  front:
    ...
    networks:
      - some-net
networks:
  some-net:
    driver: bridge

# api/docker-compose.yml
version: '2'
services:
  api:
    ...
    networks:
      - front_some-net
networks:
  front_some-net:
    external: true

注意:根据“项目名称”为您的应用程序网络指定名称,该名称基于其所在目录的名称,在这种情况下front_,添加了前缀

然后,他们可以使用服务名称互相交谈。从front您可以做到ping api,反之亦然。



 类似资料:
  • 问题内容: 我在两个不同的文件夹中有两个单独的文件: 如何确保in中的容器可以将请求发送到in中的容器? 我知道可以为单个容器设置选项,以便可以为该容器分配特定的IP地址,但是使用时似乎没有此选项。 目前,我最终做了一个,然后查看输出中的网关。它可以工作,但问题是该IP是随机分配的,因此我不能依靠它。 因此,此问题的另一种形式可能是: 我可以使用docker-compose将固定IP地址分配给特定

  • 我想将MySQL泊坞站容器用于在同一台服务器上运行的多个项目。 使用docker-compose v3文件,我只是在每个项目中具有相同的mysql容器配置,并且它们具有相同的: 第二个应用程序有一个类似的< code>docker-compose.yml文件,但是使用了< code>app2而不是< code>app1。 当运行 为 重新创建时,我收到一个错误: 如何在多个docker项目之间共享

  • Docker Compose 项目 Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。 本章将介绍 Compose 项目情况以及安装和使用。 1、简介 Compose 项目目前在 Github 上进行维护。 Compose 定位是“defining and running complex applications wit

  • PROJECT_B中的docker-compose.yml如下所示: 每个项目都可以单独运行,工作良好。但是,如果我们想要更改PROJECT_A和PROJECT_B之间的api,我们需要运行这两个项目,并将它们链接在一起以测试我们的代码。现在我们想写一个开发工具包项目,可以运行这两个项目,并链接他们,如果需要。最好的方法是什么?

  • 经过前文对Docker Compose的讲解,我们以Spring Cloud章节的几个示例项目为例,讲解如何使用Docker Compose部署项目: 准备工作 使用到的示例项目有: 项目名称 作用 microservice-api-gateway API Gateway microservice-consumer-movie-ribbon-with-hystrix 服务消费者 microserv

  • 问题内容: 我正在使用docker-compose和v3。我正在尝试在Docker中挂载卷: 我想将此作为卷,然后从多个容器中引用该卷。的卷配置参考仅示出了作为命名体积,用没有值,因此它不会像以上。 这给了我: 错误:在文件“ ./docker-compose.yml”中,卷“ app-volume”必须是映射而不是字符串。 显然,我知道我需要更改键/值对,但是我不确定 如何 更改它,以便可以在服