gpt4 book ai didi

java - 为docker和应用程序设置不同的配置文件是JDBC连接

转载 作者:行者123 更新时间:2023-11-29 15:27:54 25 4
gpt4 key购买 nike

我想为 docker 设置不同的配置文件,应用程序是 JDBC Connection。我正在 Connection.java 、 application.properties 和 docker-compose 文件中使用 mysql 配置。

Connection.java

    private Connection createConnection() throws SQLException {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/databaseName?autoReconnect=true&useSSL=false", "root", "root");
return connection;
}

application.properties

spring.datasource.username=root
spring.datasource.password=root
spring.jpa.show-sql=true
server.port=8080
#Whether to initialize the schema on startup.
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

docker-compose.yml

version: '3'

services:
docker-mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=databaseName
- MYSQL_USER=root
- MYSQL_PASSWORD=root
ports:
- 3307:3306

myApp:
image: myApp:latest
ports:
- 8080:8080
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://localhost/databaseName?autoReconnect=true&useSSL=false
depends_on:
- docker-mysql

I want to use the following profiles in application.properties & docker-compose.yml

1)  SPRING_DATASOURCE_URL: jdbc:mysql://docker-mysql/databaseName?autoReconnect=true&useSSL=false

2) SPRING_DATASOURCE_URL: jdbc:mysql://localhost/databaseName?autoReconnect=true&useSSL=false

For JDBC Connection 1) jdbc:mysql://localhost/databaseName?autoReconnect=true&useSSL=false", "root", "root" 2)jdbc:mysql://docker-mysql/databaseName?autoReconnect=true&useSSL=false", "root", "root"

请指导我如何设置这两个配置文件,以便我的应用程序和 docker 自动采用该配置文件并完美工作

最佳答案

在 application.properties 文件中添加 spring.datasource.url= jdbc:mysql://localhost/databaseName?autoReconnect=true&useSSL=false

创建另一个名为 application-docker.properties 的文件并添加 spring.datasource.url= jdbc:mysql://docker-mysql/databaseName?autoReconnect=true&useSSL=false

然后在 docker compose 文件的环境下添加 SPRING_PROFILES_ACTIVE=docker

关于java - 为docker和应用程序设置不同的配置文件是JDBC连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58941453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com