当我运行容器时,我想将环境变量从我的docker容器传递给我的Spring Boot application.properties。我有以下application.properties文件。
#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
我的用于创建容器的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
容器粉碎:Caused by: java.lang.IllegalArgumentException: URL must start with 'jdbc'
什么是正确的语法?
答案 0 :(得分:2)
docker run
命令中存在语法错误:
-e SPRING_DATASOURCE_URL:'<my url>'
您必须使用=
符号进行环境变量分配,而不是:
-e SPRING_DATASOURCE_URL='<my url>'