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 的方式:
- 重建项目;
mvn clean install
- 使用开发配置文件重建 docker 映像;
./mvnw -ntp -Pdev verify jib:dockerBuild
- 将src/main/docker/app.yml复制到src/main/docker/app-dev.yml
- 在文件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'
- 在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 更改。
我找不到任何关于如何为具有 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 的方式:
- 重建项目;
mvn clean install
- 使用开发配置文件重建 docker 映像;
./mvnw -ntp -Pdev verify jib:dockerBuild
- 将src/main/docker/app.yml复制到src/main/docker/app-dev.yml
- 在文件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'
- 在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 更改。