【问题标题】:Embed sqlite database to docker container?将 sqlite 数据库嵌入到 docker 容器中?
【发布时间】:2022-04-24 12:03:06
【问题描述】:

我是Docker 的新手。是否可以在 docker 容器中嵌入 sqlite 数据库,并在每次运行该容器中的脚本时更新它?

【问题讨论】:

  • 你能发布你的 dockerfile 和入口点脚本吗?如果您还没有做到这一点,那么每次容器运行时跟踪的目标/目的是什么?这与容器的作用有什么关系?当几个人运行同一个图像时,您期望什么行为?

标签: docker


【解决方案1】:

安装 sqlite3 的 Dockerfile 示例

FROM ubuntu:trusty
RUN sudo apt-get -y update
RUN sudo apt-get -y upgrade
RUN sudo apt-get install -y sqlite3 libsqlite3-dev
RUN mkdir /db
RUN /usr/bin/sqlite3 /db/test.db
CMD /bin/bash

将 db 文件保存在主机操作系统文件夹 /home/dbfolder 中

docker run -it -v /home/dbfolder/:/db imagename

【讨论】:

  • 请注意 - 使用卷来保存您的数据可能会产生巨大的性能成本。
  • 内置示例:mediawiki 官方容器
  • @Chris 是否有更高效的方式将数据保存在容器中?
  • 请问为什么是这条线? RUN /usr/bin/sqlite3 /db/test.db谢谢
【解决方案2】:

如果要将数据持久化到 sqlite 中,请使用主机目录/文件作为数据卷 请参阅中的“将主机目录挂载为数据卷”部分 https://docs.docker.com/storage/volumes/

【讨论】:

  • 嗨@sramu你能解释一下如何在docker容器中安装sqlite吗?并将数据量的位置指向它?
猜你喜欢
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 2015-08-17
  • 2021-09-29
  • 2011-08-03
  • 1970-01-01
  • 2021-05-22
  • 2020-02-20
相关资源
最近更新 更多