尧图精选

Chat2DB Community 5.3.0 Docker 镜像更新后数据目录与加密密钥如何保留

🕒 发布时间:2026/9/13 3:32:55 📁 来源:尧图网络
Chat2DB Community 5.3.0 Docker 镜像更新后数据目录与加密密钥如何保留【免费下载链接】Chat2DBChat2DB is a free, cross-platform, local-first database client and SQL workspace for developers, DBAs, analysts, and data teams. Connect to 40 databases, manage data, edit and run SQL, and use your own AI model to generate, explain, and optimize queries. Available on desktop, web, Docker, and CLI, with MCP support.项目地址: https://gitcode.com/GitHub_Trending/ch/Chat2DBChat2DB Community 用 Docker 运行时镜像里只有应用本身数据和加密密钥都在宿主机的文件里。更新镜像时按 README.md 给出的三步操作——拉取新镜像、删除旧容器、重新执行启动命令——两者都能保留下来。关键在于宿主机侧的两个位置在重建容器时不变数据存储位置以及~/.config/chat2db-community/encryption.key这个密钥文件。更新前先弄清数据与密钥的存放位置数据目录容器内固定宿主机映射取决于启动方式Dockerfile 中把数据目录声明为容器内的/root/.chat2db-communityVOLUME [/root/.chat2db-community]宿主机侧的映射位置由启动方式决定README 明确说明两处位置不共享数据启动方式宿主机侧数据位置docker runREADME 示例$HOME/.chat2db-community-docker绑定挂载到容器内/root/.chat2db-communitydocker compose命名卷chat2db-community-data见 docker/docker-compose.yml数据存放在宿主机侧删除旧容器不会删掉数据——前提是重新执行启动命令时映射到与之前相同的宿主机路径或命名卷。这就是保留数据目录的完整含义。版本边界Chat2DB Community 5.3.0 使用独立的/root/.chat2db-community目录不会自动迁移旧镜像中/root/.chat2db里的数据。如果你的旧容器来自使用/root/.chat2db的早期镜像升级 5.3.0 就属于这种情况文档没有提供迁移步骤。加密密钥宿主机文件只读挂载进容器Chat2DB Community 用 AES-256-GCM 加密存储的数据源密码和 AI 模型 API key密钥是每份安装独立的。Docker 部署下密钥是宿主机上的文件~/.config/chat2db-community/encryption.key被只读挂载到容器内/run/secrets/chat2db-community-encryption.key再配合环境变量CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE告诉应用去哪里读密钥。README 的 docker run 示例和 Compose 定义都采用这一方式。README 对密钥的要求是原文明示的单独备份该文件并在升级和容器重建之间保留它——替换或丢失该文件会使之前存储的数据源密码和 AI 模型 API key 无法读取。此外Web/headless 模式下没有提供有效密钥时启动会失败只有 Desktop 模式会自动创建缺失的密钥。生成或复用加密密钥密钥要求是解码后恰好 32 字节的合法 Base64。仓库附带初始化脚本 script/security/init-community-encryption-key.sh在 Chat2DB 仓库检出目录中执行一次依赖openssl./script/security/init-community-encryption-key.sh脚本的行为依据脚本实现与 README 描述默认把密钥写入~/.config/chat2db-community/encryption.key父目录以 700 权限创建密钥文件 600目标路径已存在且是合法常规文件时复用而不覆盖拒绝符号链接和非常规文件且拒绝覆盖一个无效文件并以错误退出。执行成功后输出密钥文件的状态与校验结果文档示例其中路径为本机密钥文件的实际绝对路径Community encryption key reused: /home/yourname/.config/chat2db-community/encryption.key decoded-bytes32state取值为created新生成或reused复用已有合法密钥。更新镜像前重跑一次脚本就是确认密钥没被替换的方式输出为reused且路径与更新前一致再继续更新。脚本还支持两种自定义路径方式位置参数或环境变量CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE优先级为位置参数、环境变量、默认路径。若改用自定义路径启动 Chat2DB 时必须配置同一路径README 的 Key configuration reference 给出了对应的-Dchat2db.community.encryption-key-file示例。更新镜像的操作步骤主路径docker run 启动的容器前三条命令是 README 更新说明pull the new image, remove the old container, and run the start command again对应的标准 Docker 操作docker pull chat2db/chat2db:latest docker rm -f chat2db-community然后重新执行 README 中的启动命令两个--volume必须与更新前使用的完全一致docker run --detach \ --name chat2db-community \ --restart unless-stopped \ --publish 127.0.0.1:10825:10825 \ --volume $HOME/.chat2db-community-docker:/root/.chat2db-community \ --env CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE/run/secrets/chat2db-community-encryption.key \ --volume $HOME/.config/chat2db-community/encryption.key:/run/secrets/chat2db-community-encryption.key:ro \ chat2db/chat2db:latest第一个--volume是数据映射第二个是密钥映射:ro表示只读--env指向的正是容器内密钥的挂载点。备选Compose 启动的容器docker/docker-compose.yml 内置了同样的两处映射命名卷chat2db-community-data 密钥文件只读挂载镜像 tag 默认为latest可用环境变量CHAT2DB_IMAGE_TAG覆盖。更新时重新执行docker compose --file docker/docker-compose.yml up --detach如果你之前用CHAT2DB_IMAGE_TAG指定了 tag更新前把它改为新的 tag 值即可。更新后如何验证README 给出的启动后访问入口是在浏览器打开http://localhost:10825容器内服务监听 10825默认绑定127.0.0.1。结合密钥脚本输出更新后的核对点是init-community-encryption-key.sh输出reused且密钥文件路径与更新前一致新容器启动后浏览器能打开http://localhost:10825。文档明确给出的启动失败现象是Web/headless 模式下未提供有效密钥时启动失败且不会回退到下一个配置源——空白值、格式错误的 Base64、解码不到 32 字节的密钥或无效的密钥文件都会直接导致启动失败。限制与边界5.3.0 不自动迁移旧镜像/root/.chat2db中的目录数据文档未提供迁移步骤需要自行核对旧容器里实际存放的内容。$HOME/.chat2db-community-dockerdocker run与chat2db-community-dataCompose是两个互不共享数据的独立位置从一种启动方式切换到另一种等于换到一个空数据目录。解析出的密钥在进程生命周期内被缓存修改密钥配置需要重启应用才生效。环境要求Docker 19.03.0Docker Compose 2.0.0Compose V2仅 Compose 变体需要2 CPU 核4 GiB 内存。【免费下载链接】Chat2DBChat2DB is a free, cross-platform, local-first database client and SQL workspace for developers, DBAs, analysts, and data teams. Connect to 40 databases, manage data, edit and run SQL, and use your own AI model to generate, explain, and optimize queries. Available on desktop, web, Docker, and CLI, with MCP support.项目地址: https://gitcode.com/GitHub_Trending/ch/Chat2DB创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →