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
1. Use CSS to draw a small pointed-corner chat di...
1. Download https://dev.mysql.com/downloads/mysql...
Preface Hello everyone, I am Liang Xu. At work, w...
This article mainly introduces the process analys...
The two parameters innodb_flush_log_at_trx_commit...
Table of contents Overview definition Instance Me...
The image of the microservice will be uploaded to...
There is such a requirement: an import button, cl...
Overview binlog2sql is an open source MySQL Binlo...
Based on SEO and security considerations, a 301 r...
Table of contents accomplish: Summarize: Not much...
Preface This article mainly introduces the releva...
MySQL 4.x and above provide full-text search supp...
Table of contents 1. Using Set()+Array.from() 2. ...
First, install openssh-server in docker. After th...