使用Play Framework在Docker的不同端口上作为两个独立的应用程序运行Scala project和sub project

使用Play Framework在Docker的不同端口上作为两个独立的应用程序运行Scala project和sub project,scala,docker,playframework,sbt,Scala,Docker,Playframework,Sbt,我有一个Scala应用程序,它本质上是一个API服务。API服务是一个播放应用程序,在启动时侦听特定端口 我有一个单独的服务,为API发布元数据。此元数据服务发布特定于API的信息,并侦听其他端口 我的项目的当前结构是API应用程序是根项目,元数据服务是子项目 我不确定这是否可行,但我想构建一个docker映像,其中API和元数据服务器都在不同端口的同一容器中启动 当前,在构建docker容器时,只有API正在运行,但元数据服务没有运行。但是,当我在元数据项目中运行sbt时,它会成功启动 bui

我有一个Scala应用程序,它本质上是一个API服务。API服务是一个播放应用程序,在启动时侦听特定端口

我有一个单独的服务,为API发布元数据。此元数据服务发布特定于API的信息,并侦听其他端口

我的项目的当前结构是API应用程序是根项目,元数据服务是子项目

我不确定这是否可行,但我想构建一个docker映像,其中API和元数据服务器都在不同端口的同一容器中启动

当前,在构建docker容器时,只有API正在运行,但元数据服务没有运行。但是,当我在元数据项目中运行
sbt
时,它会成功启动

build.sbt
用于API服务:

lazy val metadata = (project in file("path/to/api/metadata"))

lazy val api = (project in file("path/to/api"))
  .dependsOn(
    metadata,
  )
  .enablePlugins(PlayService, PlayLayoutPlugin)
  .aggregate(metadata)
  .settings(
    name := "API_NAME_HERE",
    version := "API_VERSION_HERE",
    scalaVersion := "2.12.8",
    libraryDependencies ++= Seq( // library dependencies defined here
    ),
    packageName in Docker := "DOCKER_URL_HERE/API_PATH_HERE",
    mappings in Docker += (resourceDirectory in Compile).value / "extra.jar" -> "/opt/docker/conf/extra.jar",
  )
如何在同一docker容器中的不同端口上运行两个服务,其中两个都是播放应用程序,一个是另一个的子项目