我无法配置Dockerfile以在Spring Boot中使用外部属性文件。这是我的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

但是,不起作用。

更新

我通过以下方式更改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 运行-d -p 8080:8080 -v/opt/gpm/config:/conf --name gpm gpm-web:1.0

08-28 14:30