相关疑难解决方法(0)

Docker 挂载发生在入口点执行之前或之后

我正在构建一个 Docker 映像来运行基于 Spring Boot 的应用程序。我希望用户能够通过将包含 application.properties 的文件夹安装到容器中来提供运行时属性文件。这是我的 Dockerfile,

FROM java:8

RUN mkdir /app
RUN mkdir /app/config
ADD myapp.jar /app/

ENTRYPOINT ["java","-jar","/app/myapp.jar"]
Run Code Online (Sandbox Code Playgroud)

当启动容器时,我运行这个,

docker run -d -v /home/user/config:/app/config myapp:latest
Run Code Online (Sandbox Code Playgroud)

其中/home/user/config包含application.properties我希望在运行时获取 jar 文件。

然而这不起作用,应用程序运行不会获取此安装的属性文件,它使用 jar 内打包的默认属性文件。但是,当我exec进入已启动的容器并再次手动运行入口点 cmd 时,它会通过拾取我挂载的文件按预期工作。所以我想知道这是否与挂载如何与入口点一起工作有关?或者我只是没有为这种情况正确编写 Dockerfile?

docker spring-boot

3
推荐指数
1
解决办法
4848
查看次数

标签 统计

docker ×1

spring-boot ×1