我找不到任何关于如何为具有dev-profile的多个应用程序创建自定义docker-compose配置的文档。,如https://www.jhipster.tech/docker-compose/#docker-compose-subgen#Generating为多个应用程序定制的Docker-Compose配置
我的微服务架构由一个网关和一个微服务组成,我用一个jdbc文件创建它们。当docker-compose子生成器运行时,它会创建一个配置(docker-compose/docker-compose.yml)SPRING_PROFILES_ACTIVE =刺激,api文档
我试着运行'。/mvnw -ntp -Pdev verify jib:dockerBuild但是在mygateway/src/main/docker/app中没有任何改变。docker-compose/docker-compose. Yml
我的网关文件夹是这样的(只有重要的文件):
/gateway/src/main/docker/
| central-server-config/localhost-config
| application.yml
| app.yml
我用dev-profile创建了一个工作的docker-compose:
- 重建项目;
mvn clean install
- 用dev配置文件重建docker镜像;
./mvnw -ntp -Pdev verify jib:dockerBuild
- 复制src/main/docker/app。到src/main/docker/app-dev.yml
- 文件app-dev.yml更改以下
服务。你们;my_gateway> .environment
从
- SPRING_PROFILES_ACTIVE =刺激,api文档
- SPRING_R2DBC_URL = r2dbc: postgresql://& lt; your_gateway_name> postgresql: 5432/& lt; database_name>
- SPRING_LIQUIBASE_URL = jdbc: postgresql://& lt; your_gateway_name> postgresql: 5432/& lt; database_name>
- SPRING_PROFILES_ACTIVE = dev webapp, api文档
- SPRING_R2DBC_URL = r2dbc: h2:文件://tmp/h2db/db/& lt; database_name>; DB_CLOSE_DELAY = 1
- SPRING_LIQUIBASE_URL = jdbc: h2:文件://tmp/h2db/db/& lt; database_name>; DB_CLOSE_DELAY = 1
我还删除了postgress-container的孔部分(它不需要)
供参考:默认的db位置是相对的。在容器中,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/
供参考配置通过overrides部分告诉configserver客户端错误的尤里卡url。删除它或只是使用相同的EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE,我做了最后一个。
然后我可以用dev-profile启动网关,没有任何错误。例如
docker-compose -f src/main/docker/app-dev。yml
我还没有测试它,但它应该工作创建一个docker-compose/docker-compose.yml与dev-profile使用相同/类似的更改