热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker:如何将sqlite数据库更改持久保存到db文件?

如何解决《Docker:如何将sqlite数据库更改持久保存到db文件?》经验,为你挑选了1个好方法。

您没有在Dockerfile中装载卷。VOLUME告诉docker这些目录中的内容可以通过docker run --volumes-from挂载

你是对的。Docker不允许在命令行上使用卷上的相对路径。

使用绝对路径运行docker:

docker run -v /host/db/local-db:/go/src/beginnerapp/local-db

您的数据库将保留在主机文件中 /host/db/local-db

如果要使用相对路径,则可以使用带有“ volumes”标签的docker-compose使其工作:

volumes:
  - ./local-db:/go/src/beginnerapp/local-db

您可以尝试以下配置:

将Dockerfile放在目录中(例如/opt/docker/myproject

docker-compose.yml在相同的路径中创建一个文件,如下所示:

version: "2.0"
services:
  myproject:
    build: .
    volumes:
      - "./local-db:/go/src/beginnerapp/local-db"

docker-compose up -d myproject在同一路径中执行。

您的数据库应存储在 /opt/docker/myproject/local-db

只是一个评论。local-db的内容(如果有)将被./local-dbpath 的内容(空)代替。如果容器具有任何信息(初始化的数据库),则最好docker cp在入口点或命令Shell脚本上复制它或在其中包含任何初始化逻辑。



1> Alfonso Tien..:

您没有在Dockerfile中装载卷。VOLUME告诉docker这些目录中的内容可以通过docker run --volumes-from挂载

你是对的。Docker不允许在命令行上使用卷上的相对路径。

使用绝对路径运行docker:

docker run -v /host/db/local-db:/go/src/beginnerapp/local-db

您的数据库将保留在主机文件中 /host/db/local-db

如果要使用相对路径,则可以使用带有“ volumes”标签的docker-compose使其工作:

volumes:
  - ./local-db:/go/src/beginnerapp/local-db

您可以尝试以下配置:

将Dockerfile放在目录中(例如/opt/docker/myproject

docker-compose.yml在相同的路径中创建一个文件,如下所示:

version: "2.0"
services:
  myproject:
    build: .
    volumes:
      - "./local-db:/go/src/beginnerapp/local-db"

docker-compose up -d myproject在同一路径中执行。

您的数据库应存储在 /opt/docker/myproject/local-db

只是一个评论。local-db的内容(如果有)将被./local-dbpath 的内容(空)代替。如果容器具有任何信息(初始化的数据库),则最好docker cp在入口点或命令Shell脚本上复制它或在其中包含任何初始化逻辑。


推荐阅读
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 【docker】启动docker连接数据库 出现FATAL: password authentucation failed for user homestatead问题...
    docker可以成功启动,启动命令如下:dockerrun-d-p54320:5432-vpwdpgdata:varlibpostgresqldata- ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • 州的先生(https:zmister.com)在很多项目中都有使用到SQLite数据库作为数据存储的工具,其中包括一些桌面图形界面程序和线上的Web应用程序。至今为止,它们都运行良 ... [详细]
  • Python使用SQLite1.sqlite3的安装python2.5.x以上版本默认自带sqlite3模块。2.链接sqlite3数据库```#导入sqlite3模块import ... [详细]
  • 背景使用sqlite3的命令实现数据去重,与无效数据删除等操作。所有操作均封装在shellscript中。创建数据库邮件数据库:UserEmail.dbEmail表:TABLE_EM ... [详细]
  • 数据库锁在SQLite中,锁和事务是紧密联系的。为了有效地使用事务,需要了解一些关于如何加锁的知识。SQLite采用粗放型的锁。当一个连接要写数据库,所有其它的连接被锁住,直到写连接 ... [详细]
  • 对于很多想做通讯录,或者很多想对系统通讯录操作的童鞋们肯定都会遇到个问题,系统通讯录操作很麻烦,我能不能直接看看底层联系人表结构呢?如果可以看到的话,那一定能提高相关操作的准确性和效率吧。  不多说, ... [详细]
  • iOS关于移动端SQLite,你想知道的都有
    一、SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目 ... [详细]
  • 转自:http:www.cnblogs.comzeroonep4316346.html如果一个.NET应用要自适应32位64位系统,只需要在项目的“目标平台”设置为“AnyCPU”。但是 ... [详细]
  • 最近用到SQLite数据库,刚开始想用ADO来搞,毕竟经常用,结果发现还挺麻烦,要装SQLite的ODBC驱动,装了以后还是连不上,听说这SQLite是开源项目,可以将开发库引入项目来 ... [详细]
author-avatar
皓月当空668
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有