我无法使用Spring Boot配置Dockerfile以使用外部属性文件。这是我的Dockerfile:
!$scope.$$phase && $scope.$digest()
在我的主机中,我有这个属性文件的路径:/var/gpm/config/application.properties
但是,不行。
更新
我改变了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"]
用这个来运行:
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
答案 0 :(得分:1)
我认为你只需要将卷安装到conf文件夹,例如
docker run -d -p 8080:8080 -v / opt / gpm / config:/ conf --name gpm gpm-web:1.0
答案 1 :(得分:0)
最后,问题是关于要在Docker容器中安装的文件的权限。如果在主机中找不到原始文件,Docker会创建一个目录。
感谢@Shibashis的帮助。