在docker容器创建时,在Spring Boot中将环境变量传递给application.properties的正确语法是什么?
我想在运行容器时将环境变量从docker容器传递到Spring Boot application.properties。我有以下application.properties文件在docker容器创建时,在Spring Boot中将环境变量传递给application.properties的正确语法是什么?,docker,spring-boot,environment-variables,Docker,Spring Boot,Environment Variables,我想在运行容器时将环境变量从docker容器传递到Spring Boot application.properties。我有以下application.properties文件 #application.properties spring.datasource.url=${SPRING_DATASOURCE_URL} spring.datasource.username=${SPRING_DATASOURCE_USERNAME} spring.datasource.password=${SPRI
#application.properties
spring.datasource.url=${SPRING_DATASOURCE_URL}
spring.datasource.username=${SPRING_DATASOURCE_USERNAME}
spring.datasource.password=${SPRING_DATASOURCE_PASSWORD}
spring.datasource.driver-class-name=org.postgresql.Driver
用于创建容器的My docker命令如下所示:
docker run -d -p 8080:8080 -e SPRING_DATASOURCE_URL:'<my url>' -e SPRING_DATASOURCE_USERNAME:'<my username>' -e SPRING_DATASOURCE_PASSWORD:'<my password>' -e --name mycontainer mycontainer
docker run-d-p 8080:8080-e-SPRING\u数据源\u URL:'-e-SPRING\u数据源\u用户名:'-e-SPRING\u数据源\u密码:'-e--name mycontainer mycontainer
容器压碎为:原因:java.lang.IllegalArgumentException:URL必须以“jdbc”开头。
正确的语法是什么?docker run命令中有语法错误:
-e SPRING\u数据源\u URL:“
环境变量赋值必须使用=
符号,而不是:
-e SPRING\u DATASOURCE\u URL='
您是否尝试过类似于jdbc:mysql://db_server:3306/some_database
?是的,对于Postgres,您应该详细说明。。。您到底传递了什么字符串作为数据源url?是的,谢谢,这就是问题所在,尽管现在我面临另一个问题${SPRING_RABBITMQ_PORT}原因:无法将类型为“java.lang.String”的属性值转换为属性“PORT”所需的类型“int”;使用我的rabbitmq属性。尝试传递端口,但不要将其包含在单个标记中,例如:SPRING\u rabbitmq\u port=1234
我已经尝试过了。不起作用。我将创建一个新问题,这样你就可以获得答案的奖励。加博,你能把新问题的链接放在这里吗?