繁体   English   中英

使用Spring Boot和Docker的外部属性文件

[英]External properties file using Spring Boot and Docker

我无法使用Spring Boot配置Dockerfile以使用外部属性文件。 这是我的Dockerfile:

FROM java:8-jre 
VOLUME /tmp /var/gpm/config
ADD gpm-web-1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-cp","/var/gpm/config","-Dspring.config.location=classpath:application.properties","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

在我的主机中,我有这个属性文件的路径:/var/gpm/config/application.properties

但是,不行。

UPDATE

我改变了Dockerfile:

FROM java:8-jre
VOLUME /tmp
ADD gpm-web-1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.config.location=file:/conf/application.properties"]

并运行:

docker run -d -p 8080:8080 -v /opt/gpm/config/application.properties:/conf/application.properties --name gpm gpm-web:1.0

但是,该文件就像一个文件夹:

root@b7349202b6d3:/# ls -la /conf/
total 8
drwxr-xr-x  3 root root  4096 May 18 16:43 .
drwxr-xr-x 74 root root  4096 May 18 16:55 ..
drwxr-sr-x  2 root staff   40 May 18 16:43 application.properties 

我认为你只需要将卷安装到conf文件夹,例如

docker run -d -p 8080:8080 -v / opt / gpm / config:/ conf --name gpm gpm-web:1.0

最后,问题是关于要在Docker容器中安装的文件的权限。 如果在主机中找不到原始文件,Docker会创建一个目录。

感谢@Shibashis的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM