background Recently, some friends who are new to Docker asked me that they want to dynamically pass parameters to microservices through Scenario Suppose there is a Springboot project with a database configuration item in it, but there are multiple database IPs in different database test environments (DEV\SIT\UAT). If you want to use the same Springboot project image, you can switch the database configuration at any time. In short, the database configuration of your Springboot application should be passed in externally instead of hardcoded. There is a database configuration in the Springboot application as follows: spring.datasource.url = jdbc:mysql://192.168.0.11:3306/db?useUnicode=true&characterEncoding=utf8 #Configure database username spring.datasource.username = sa #Configure database password spring.datasource.password = sa Solution Use Next, we replace the database configuration with a spEL expression in the Springboot configuration file #Configure database link spring.datasource.url = jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}?useUnicode=true&characterEncoding=utf8 #Configure database username spring.datasource.username = ${DB_USER} #Configure database password spring.datasource.password = ${DB_PASSWORD} Configure our database parameters in version: '3' services: web: restart: always depends_on: -db image: springboot-app-image build: . ports: - 8080:8080 environment: - DB_HOST=192.168.0.11 - DB_PORT=3306 - DB_USER=root - DB_PASSWORD=123456 - DB_NAME=db networks: - credit-facility-net deploy: mode: replicated replicas: 3 restart_policy: condition: on-failure delay: 5s max_attempts: 3 update_config: parallelism: 1 delay: 10s In this way, our Springboot application can dynamically obtain the database configuration when starting the container service This is the end of this article about how Docker dynamically passes parameters to Springboot projects. For more information about Docker Springboot dynamic parameter passing, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Detailed explanation of MySQL data rows and row overflow mechanism
>>: Four ways to modify the default CSS style of element-ui components in Vue
The scope of nginx configuration instructions can...
Today we will introduce how to publish the local ...
1. Inline style, placed in <body></body&g...
I didn't intend to write this blog, but durin...
This article example shares the specific code of ...
Delete a file by its inode number First use ls -i...
1. Download Download mysql-5.7.19-linux-glibc2.12...
1. Use css sprites. The advantage is that the smal...
Docker Compose can realize the orchestration of D...
Table of contents Rendering Install Code Implemen...
1. Form 1. The role of the form HTML forms are us...
Mysql Workbench is an open source database client...
This article shares the installation and configur...
Before talking about the structural markup of web...
Table of contents 1. Experimental Environment 2. ...