Docker 镜像读取数据库属性



我有一个Java程序,它使用db.properties文件读取PostgreSQL数据库,我把它保存在C:\opt\xyz\projectname\db.propperties下。

创建了 Docker映像,并能够使用 -v 选项在我的本地 Docker 容器上运行。

例如:docker run -itd -v C:/opt/xyz/projectname:/opt/xyz/projectname projectName:tag

我已将图像移动到谷歌云,并希望在云上运行图像。

问:如何像我在 C:\opt\xyz\projectname\db.propperties 的窗口中那样设置 db.properties 文件?

您无法将卷挂载到 Cloud Run 上的容器,但我不确定您是否需要它。我猜属性文件是只读的,因此您可以简单地将其包含在 docker 映像中。

示例 Dockerfile:

FROM openjdk:11
COPY target/app.jar /app/app.jar
COPY db.properties /app/db.properties
WORKDIR /app
ENTRYPOINT ["java", "-jar", "app.jar"]

db.properties 文件将位于应用程序工作目录中:

try(InputStream in = new FileInputStream("db.properties")) {
Properties prop = new Properties();
prop.load(in);
// ...
}

最新更新