java - 将 Docker Sqlite 容器连接到 Java
问题描述
我只是在网上找不到正确的信息。
我计划用 Docker 运行 sqlite,以便可以将信息保存到本地卷。我的 Dockerfile 是
FROM alpine:3.14
RUN apk add --update sqlite
RUN mkdir /db
WORKDIR /db
ENTRYPOINT ["sqlite3"]
CMD ["mydb.db"]
docker run -p 5000:5000 -v `passwd`:/db my-sqlite mydb.db
如何将它挂载到卷上,以便将数据持久保存到磁盘?现在我需要连接字符串 - 从 Java 项目进行连接。这会是什么?我想在启动程序时从这个数据库加载数据,这将如何完成?
解决方案
您对 sqlite 有很大的误解。Sqlite 是一个嵌入式数据库——这意味着它不需要服务器来运行,而是在应用程序中运行。
因此,您需要将*.db
文件挂载到应用程序的容器中并使用 sqlite 的 JDBC 驱动程序才能使用数据库。
据我所知,sqlite 甚至不支持任何形式的远程连接,因为这不是它的用途。
推荐阅读
- java - 硬件帮助错误**线程“main”中的异常java.lang.NullPointerException**,程序在命令行中运行良好但不是eclipse或整洁的bean
- javascript - 如何在不修改 vue 3 中的道具的情况下使用道具初始化状态
- node.js - node.js child_process 在运行某些进程时返回 code = null
- django - 在 urls.py 中扩展路径名
- python - 为已在 InstaPy 库中分配的类似创建异常
- javascript - 当数组包含相同的值时求和
- python - 在Python中多次复制数据框,每个副本都有一个新的日期
- arrays - 从 Swift 5 中的 Json 字典中获取价值
- reactjs - 如何使用 react 为 state 和 initialState inReducer 动态设置类型?
- reactjs - Rest API 属性条件渲染和替换 ReactJs 中的字符串