spring-boot - 如何使用 docker-compose.yaml 同时运行两个服务?
问题描述
我有一个多模块 Maven 项目。父文件夹包含一个 pom.xml 和一个 docker-compose 文件。两个子文件夹(两个不同的服务)分别包含一个 pom.xml 和 e Dockerfile。父文件夹是calculatorws,两个子文件夹是calculatorws-rest 和calculatorws-calculator。我想用 docker-compose 同时启动这两个子服务。我的应用程序需要同时监听这两个服务才能工作,但使用我的 docker-compose 是不可能的。如何使用 docker-compose 让两个服务同时监听?
我的 docker-compose 文件是:
version: '3.9'
services:
calculatorws-rest:
build: ./calculatorws-rest
calculatorws-calculator:
build: ./calculatorws-calculator
我的calculatorws-rest Dockerfile 是:
FROM maven:3-jdk-8-alpine as builder
COPY pom.xml /calculatorws-rest/
WORKDIR /calculatorws-rest/
COPY . /calculatorws-rest/
FROM openjdk:8-jre-alpine
COPY --from=builder /calculatorws-rest/target/calculatorws-rest-0.0.1.jar /rest.jar
EXPOSE 8080
CMD ["java", "-jar", "/rest.jar"]
我的calculatorws-calculator Dockerfile 是:
FROM maven:3-jdk-8-alpine as builder
COPY pom.xml /calculatorws-calculator/
WORKDIR /calculatorws-calculator/
COPY . /calculatorws-calculator/
FROM openjdk:8-jre-alpine
COPY --from=builder /calculatorws-calculator/target/calculatorws-calculator-0.0.1.jar /calculator.jar
EXPOSE 8080
CMD ["java", "-jar", "/calculator.jar"]
如果我在普通命令行中启动这些服务,我将有两个终端,每个终端同时监听一个服务。所以,我想用 docker-compose 做同样的事情。
解决方案
推荐阅读
- javascript - 我应该如何在 JS 类中声明属性?
- node.js - 要导入 Sass 文件,首先需要安装 node-sass
- javascript - 将十六进制转换为 BigInt 节点红色
- javascript - 使用 Jquery 在页面上定位第一次和第二次出现的 Div
- qt - 在 Qt 中的 Table 中显示文件夹中的数据条目(xml)
- c++ - 仅计算“核心”QImage 数据(不包括元数据)的 QCryptographicHash
- c# - 使用带有空 Generic.List 作为参数的 AddRange 时 Generic.List 引发的参数异常
- symfony - 如何修复:错误:u0_.id 列不存在
- c# - 使用 EnableRetryOnFailure 时瞬时失败后的错误 SQL 结果
- oracle - 限制最初在选择列表中返回的行