当前位置: 首页 > 知识库问答 >
问题:

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

邵崇凛
2023-03-14
  • ~/front/docker-compose.yml
  • ~/api/docker-compose.yml

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

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

目前,我将执行一个Docker,检查my_api_container_id并查看输出中的网关。它起作用但问题是这个IP是随机归属的,所以我不能依赖它。

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

  • 可以使用Docker-Compose将固定IP地址归属于特定容器吗?
  • 两个不同的docker-compose项目如何相互通信?

共有1个答案

段干河
2023-03-14

您只需要确保您想要彼此对话的容器在同一个网络上。网络是一个一流的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_

 类似资料:
  • 问题内容: 我在两个不同的文件夹中有两个单独的文件: 如何确保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”必须是映射而不是字符串。 显然,我知道我需要更改键/值对,但是我不确定 如何 更改它,以便可以在服