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

使用docker运行多个项目,每个项目都使用docker-compose运行

班安平
2023-03-14
db:
    image: postgres:9.4
    ports:
      - "5432"

project_a:
    build: .
    command: python2.7 main.py
    links:
        - db

PROJECT_B中的docker-compose.yml如下所示:

db:
    image: postgres:9.4
    ports:
      - "5432"

project_b:
    build: .
    command: python2.7 main.py
    links:
        - db

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

共有1个答案

柳鸿博
2023-03-14

您可以通过使用docker-composeextends功能组合来自多个文件的服务来实现这一点。将项目放在某个定义良好的位置,并使用相对路径引用它们:

../
├── foo/
│   └── docker-compose.yml
└── bar/
    └── docker-compose.yml
base:
    build: .

foo:
    extends:
        service: base
    links:
        - db

db:
    image: postgres:9

如果您想单独测试这个项目,您可以执行以下操作:

sudo docker-compose up -d foo

创建foo_foo_1

foo:
    extends:
        file: ../foo/docker-compose.yml
        service: base
    links:
        - db

bar:
    build: .
    extends:
        service: base
    links:
        - db
        - foo

db:
    image: postgres:9
sudo docker-compose up -d bar
 类似资料:
  • 问题内容: 我正在使用在3个不同的docker上运行的应用程序: 第一个是可通过REST API调用的服务器HTTP 第二个是rabbitmq 第三个是工人 整个应用程序使用 真的很简单:) 我想使其具有可伸缩性,并且独立于其他应用程序运行整个应用程序的多个实例(3个docker映像),然后放置一个负载平衡器,例如它将重定向到其中一个应用程序。 我看到我可以使用它,但是问题是可以缩放容器,但是我真

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

  • 可以在Docker Gradle容器中运行Gretty项目吗? 通常情况下,Gretty任务< code>tomcatRun会启动Tomcat应用程序服务器,您可以在http://localhost:8080/app-name上浏览应用程序。使用Docker Gradle image,任务可以成功启动,但之后容器会立即终止。 复制问题的步骤: < li >安装Docker。 <李>克隆https:

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

  • solver_1 2019-01-04 22:55:15.698警告1---[main]O.H.Engine.jdbc.spi.sqlexceptionHelper:SQL错误:0,sqlstate:08s01 solver_1 2019-01-04 22:55:15.698错误1---[main]O.H.Engine.jdbc.spi.sqlexceptionHelper:通信链接失败solve

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