JHipster v7.1.0 - 如何创建 docker-compose conf with dev profile

JHipster v7.1.0 - How to create docker-compose conf with dev profile

我找不到任何关于如何为具有 dev-profile 的多个应用程序创建自定义 docker-compose 配置的文档,如 https://www.jhipster.tech/docker-compose/#docker-compose-subgen#Generating 自定义 Docker-Compose 配置用于多个应用程序

我的微服务架构由一个网关和一个微服务组成,我使用 jdl 文件创建它们。当 docker-compose 子生成器运行时,它会创建一个配置 (docker-compose/docker-compose.yml) SPRING_PROFILES_ACTIVE=prod,api-docs 和 prod 的数据库配置。

我已经尝试 运行 './mvnw -ntp -Pdev verify jib:dockerBuild' 但 mygateway/src/main/docker/app 中没有任何更改。 yml 也不在 docker-compose/docker-compose.yml

这是我的网关文件夹的样子(只有重要文件):

/gateway/src/main/docker/
     | central-server-config/localhost-config
       | application.yml
     | app.yml

这就是我创建工作 docker-compose with dev-profile 的方式:

  1. 重建项目; mvn clean install
  2. 使用开发配置文件重建 docker 映像; ./mvnw -ntp -Pdev verify jib:dockerBuild
  3. 将src/main/docker/app.yml复制到src/main/docker/app-dev.yml
  4. 在文件app-dev.yml中更改以下内容
  • 在服务中。.环境

    来自

  • SPRING_PROFILES_ACTIVE=prod,api-docs
  • SPRING_R2DBC_URL=r2dbc:postgresql://<your_gateway_name>-postgresql:5432/<database_name>
  • SPRING_LIQUIBASE_URL=jdbc:postgresql://<your_gateway_name>-postgresql:5432/<database_name>

  • SPRING_PROFILES_ACTIVE=dev,webapp,api-docs
  • SPRING_R2DBC_URL=r2dbc:h2:file://tmp/h2db/db/<database_name>;DB_CLOSE_DELAY=-1
  • SPRING_LIQUIBASE_URL=jdbc:h2:file://tmp/h2db/db/<database_name>;DB_CLOSE_DELAY=-1

我还删除了 postgress-container 的孔部分(不需要)

仅供参考:默认数据库位置是相对的。在容器中,init 上的相对路径是根文件夹,appuser 可能不会在其中创建目录。因为我使用'/tmp/h2db/db'

  1. application.yml我改成下面的

来自

eureka:
  client:
    service-url:
      defaultZone: http://admin:${jhipster.registry.password}@localhost:8761/eureka/

eureka:
  client:
    service-url:
      defaultZone: http://admin:${jhipster.registry.password}@jhipster-registry:8761/eureka/

仅供参考:配置通过覆盖部分告诉配置服务器客户端错误的 eureka url。删除它或只使用与 EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE 中相同的方法,我做了最后一个。

然后我可以使用 dev-profile 启动网关而不会出现任何错误。 例如

docker-compose -f src/main/docker/app-dev.yml up

我还没有测试它,但它应该可以创建一个 docker-compose/docker-compose.yml 和 dev-profile 使用上面的 same/similar 更改。