javascript
win7 docker java开发环境变量_java – Docker. Spring应用程序.设置和获取环境变量
我正試圖將我的Spring應用程序停靠.
問題:
我無法從我的Spring應用程序中獲取docker容器中的環境變量.
Spring配置(2個選項,單獨試用)
也試過java
URI dbUrl = URI.create(System.getProperty("JDBC_CONNECTION_STRING"));
我的碼頭配置.使用docker-compose build和docker-compose up每次更新值.
泊塢窗,compose.yml
app:
build: .
command: catalina.sh run
ports:
- "8888:8080"
links:
- postgres
volumes:
- /usr/bin
postgres:
image: postgres:9.5
ports:
- "5432"
volumes:
- /var/lib/postgresql/data
Dockerfile
FROM tomcat:jre8
ENV JDBC_CONNECTION_STRING 'postgres://postgres:password111@postgres:5432/mydb'
RUN ["rm", "-fr", "/usr/local/tomcat/webapps/ROOT"]
RUN apt-get update && apt-get install -y net-tools postgresql-client
COPY ./target/myapp.war /usr/local/tomcat/webapps/ROOT.war
CMD ["catalina.sh", "run"]
一旦我連接到容器的bash,set命令不顯示我的變量.
但echo $JDBC_CONNECTION_STRING顯示該值.
解決方法:
在java代碼中,您使用的是java系統屬性,而不是系統環境變量.為了將系統屬性傳遞給java進程,您需要在運行命令中指定-Dkey = value.
所以如果這是tomcat你可以設置$JAVA_OPTS =“… -DJDBC_CONNECTION_STRING = $JDBC_CONNECTION_STRING”
標簽:java,docker,spring,dockerfile
來源: https://codeday.me/bug/20190702/1352874.html
總結
以上是生活随笔為你收集整理的win7 docker java开发环境变量_java – Docker. Spring应用程序.设置和获取环境变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java socket聊天工具_java
- 下一篇: java面向对象编程集合边框_java