新闻详情

新闻详情

首页 / 资讯中心 / 详情

使用 Docker 在本地部署 Prisma 集群:`prisma local` 完整实战指南

发布时间:2026/11/7 13:21:52来源:尧图网络
使用 Docker 在本地部署 Prisma 集群:`prisma local` 完整实战指南
后端数据库GraphQL【免费下载链接】prisma1 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL MongoDB) [deprecated]项目地址https://gitcode.com/gh_mirrors/pr/prisma1点击查看免费下载本指南基于 Prisma 1.xdeprecated 版本的官方文档《Local Cluster (Docker)》讲解如何通过prisma local在本地 Docker 环境中搭建 Prisma 集群并完成服务的部署、升级、查看与数据迁移等全流程操作。读完本文你将掌握在无外网依赖的离线开发环境中使用 Docker 启动 Prisma 服务端、将服务部署到本地集群、安全升级集群版本等完整实战技能。一、本地集群Local Cluster是什么Prisma 的本地集群Local Cluster是指通过 Docker 在本机运行的 Prisma 服务端与数据库实例。默认情况下prisma deploy会把服务部署到 Prisma Cloud 提供的托管开发集群如prisma-eu1、prisma-us1但在以下场景中本地集群是更合适的选择无网络环境开发在没有外网连接的环境下无法访问 Prisma Cloud本地集群可以完全离线运行数据完全本地化数据不经过任何第三方服务全部存储在本机 Docker 卷中开发调试隔离可以随时start/stop/nuke本地集群不影响云端环境。从 CLI 源码看Prisma CLI 专门为本地集群注册了cluster主题topic其描述为 Manage local clusters位于 cli/packages/prisma-cli-core/src/index.ts同时还有init-prisma主题负责初始化本地集群。这意味着prisma local ...系列命令与prisma cluster list等集群管理命令构成了完整的本地集群工作流。二、环境准备安装 Docker运行本地 Prisma 集群的前提是机器上安装了较新版本的 Docker。Prisma 官方推荐使用免费的Docker Community EditionDocker CE安装指引以官方站点为准本文以当前仓库内文档的说明为基础。安装完成后可以通过以下命令验证 Docker 是否就绪docker --version docker-compose --version需要说明的是docker-compose同样重要——prisma init在本地集群模式下会生成docker-compose.yml后续的本地启动本质上依赖 Docker Compose 来编排 Prisma 与数据库容器。CLI 源码中通过isDockerComposeInstalled()检测其是否安装未安装时会提示用户参考 Docker Compose 官方安装文档见 cli/packages/prisma-cli-core/src/commands/init/init.ts。三、启动本地集群prisma local start启动本地集群非常简单只需一条命令prisma local start该命令会从 Docker Hub 下载 Prisma 的开源 Docker 镜像启动两个 Docker 容器一个 Prisma 服务容器一个 MySQL 数据库容器首次执行时耗时较长耗时取决于网络状况。启动完成后本地集群会监听http://localhost:4466其中/cluster是集群管理端点。从源码角度看本地集群的容器编排模板保存在 cli/packages/prisma-cli-core/src/commands/init/boilerplate/docker-compose.yml 中模板内定义了两个服务服务名镜像作用prisma-dbmysql:5.7数据库容器暴露3306端口可配置数据持久化到db-persistence卷prisma-databaseprismagraphql/prisma:1.1Prisma 服务容器映射宿主端口通过环境变量连接 MySQL模板中值得关注的配置细节MySQL 通过mysqld --max-connections1000等参数启动并显式设置了兼容 Prisma 的 SQL modePrisma 容器通过SQL_CLIENT_*系列环境变量连接外部数据库即你部署服务时实际使用的数据库通过SQL_INTERNAL_*系列环境变量连接内部元数据数据库数据卷db-persistence保证了容器重启后数据不丢失两个容器同处prismabridge 网络可互相通信。四、部署服务到本地集群prisma deploy集群启动后就可以把服务部署上去。在项目目录包含prisma.yml与datamodel.prisma执行❯ prisma deploy ? Please choose the cluster you want to deploy demodev to (Use arrow keys) prisma-eu1 Free development cluster (hosted on Prisma Cloud) prisma-us1 Free development cluster (hosted on Prisma Cloud) ❯ local Local cluster (requires Docker)使用方向键选择local后CLI 会将所选集群写入项目根目录的prisma.yml新增一个cluster条目形如endpoint: http://localhost:4466/demo/dev datamodel: datamodel.prisma cluster: local这里的交互选择逻辑对应 cli/packages/prisma-cli-core/src/commands/deploy/deploy.ts当prisma.yml中尚未配置 endpoint 或 service 时deploy 命令会通过EndpointDialog拉取所有可用集群fetchClusters()并弹出选择列表选中后调用replaceEndpoint()把最终 endpoint 写回prisma.yml。部署过程中 CLI 还会做两个重要检查本地集群在线检测如果所选集群是 local 且处于离线状态cluster.local !(await cluster.isOnline())会直接抛出错误Could not connect to server at ... Please check if your server is running.——此时应先执行prisma local start私有集群登录检测对于非 local 的私有集群会要求先登录 Prisma Cloudcluster.local的本地集群则无需此步骤。deploy 命令还提供了一些实用的 flags均定义于 deploy.tsFlag简写说明--force-f接受因 schema 变更导致的数据丢失--new-n强制进入交互模式重新选择集群--dry-run-d预演部署不真正执行--no-seed-首次部署时不执行 seed--json-j输出 JSON 格式--no-migrate-跳过自动迁移使用prisma init初始化本地项目如果你还没有项目可以用prisma init初始化。当交互流程中选择 local 集群时CLI 会额外生成 docker-compose.yml 与.env文件内含PRISMA_MANAGEMENT_API_SECRET最终目录结构如下prisma.yml # Prisma 服务定义 datamodel.prisma # GraphQL SDL 数据模型 docker-compose.yml # Docker 编排文件本地集群专属 .env # 包含 PRISMA_MANAGEMENT_API_SECRET初始化完成后CLI 会提示下一步操作docker-compose up -d启动 Prisma 服务端然后prisma deploy部署服务对应 cli/packages/prisma-cli-core/src/commands/init/init.ts 中的 next steps 输出。五、查看集群信息prisma cluster list执行以下命令可以查看当前机器上所有可用集群及其版本❯ prisma cluster list name version endpoint ────────────── ───────────── ────────────────────────────────── local 1.0.0-beta4.2 http://localhost:4466/cluster输出中的每一列含义如下name集群名称本地集群固定为localversion当前运行的 Prisma 版本号示例中为1.0.0-beta4.2实际以你安装的镜像版本为准endpoint集群的管理端点地址。通过该命令可以快速确认本地集群是否正常运行以及服务端版本是否满足项目要求。六、升级本地集群prisma local upgrade当 Prisma 发布新版本时升级本地集群同样只需要一条命令prisma local upgrade升级会拉取最新的 Prisma Docker 镜像并重建容器。强烈建议在升级前先导出数据备份使用prisma export命令prisma exportprisma export会把服务数据导出到本地文件对应的实现位于 cli/packages/prisma-cli-core/src/commands/export/index.ts其命令描述为 Export service data to local file。它生成的导出文件包含nodes/、lists/、relations/三个目录的 JSON 数据之后可用prisma import恢复。如果升级过程中或升级后出现问题可以彻底重置nuke本地集群但请注意nuke 会清空本地集群的所有数据。重置后需要重新执行prisma local start启动集群并可通过prisma import导入此前导出的数据。所以导出备份是升级前的必备操作。七、直接使用现有 MySQL 数据库本地集群默认内置 MySQL但你也可以让 Prisma 直接连接已有的 MySQL 数据库包括已有数据的库。这对应官方文档提到的数据库直连introspection能力prisma introspectintrospect命令topic 描述为 Introspect database schema(s) of service见 cli/packages/prisma-cli-core/src/index.ts会根据现有数据库的结构自动生成对应的datamodel.prisma实现以数据库为起点的数据模型导入。与本地集群搭配使用时可以做到本地启动 Prisma → 连接本机或局域网内已有 MySQL → introspection 生成模型 → 部署服务。八、本地集群工作流总结把整个生命周期串起来本地集群的典型工作流如下# 1. 安装 Docker CE 与 docker-compose # 2. 启动本地集群首次会拉取镜像较慢 prisma local start # 3. 可选初始化项目并生成 docker-compose.yml prisma init # 4. 部署服务到 local 集群交互选择 local prisma deploy # 5. 查看集群状态与版本 prisma cluster list # 6. 升级前备份数据 prisma export # 7. 升级本地集群 prisma local upgrade # 8. 出问题时彻底重置会清空数据 # prisma local nuke重置后重新 start再用 prisma import 恢复数据相关的其他部署方式可参考同一章节的姊妹文档Digital Ocean (Docker Machine).md)、Digital Ocean (manual).md)、Kubernetes 与 Prisma Cloud本地集群是其中唯一完全脱离云端、可离线运行的选择。九、注意事项与限制版本前提本文命令与配置基于 Prisma 1.x CLIprisma local/prisma cluster主题当前仓库已标记为 deprecated新项目建议评估官方后续替代方案端口占用本地集群默认监听4466端口且 MySQL 容器默认映射宿主端口模板中通过DB_PORT环境变量控制启动前请确保相关端口未被占用数据安全prisma local upgrade与 nuke 操作前务必先prisma export备份nuke 操作不可逆离线场景prisma local start首次需要联网拉取 Docker 镜像镜像就绪后日常开发可完全离线进行。通过以上步骤你可以在本机用 Docker 快速搭建一套完整的 Prisma 本地开发环境实现服务的离线部署、升级与数据管理大幅降低开发环境对云端集群的依赖。赞分享后端数据库GraphQL【免费下载链接】prisma1 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL MongoDB) [deprecated]项目地址https://gitcode.com/gh_mirrors/pr/prisma1点击查看免费下载相关推荐Prisma 本地集群Docker部署实战用 prisma local 在本地运行 Prisma 与 MySQLPrisma 本地集群Docker部署实战用 prisma local 在本地运行 Prisma 与 MySQL 导读 本文是 Prisma 1.x 系列后端数据库GraphQLPrisma 本地集群部署指南使用 Docker 与 prisma local 在本地搭建 Prisma 环境Prisma 本地集群部署指南使用 Docker 与 prisma local 在本地搭建 Prisma 环境 导读 本文以 Prisma 1.4 版本的官方后端数据库GraphQL在本地 Docker 集群上部署 Prisma 数据库服务prisma local 完整实战指南在本地 Docker 集群上部署 Prisma 数据库服务 prisma local 完整实战指南 本指南以 docs/1.1/03 Tutorials/04后端数据库GraphQL创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/6 6:37:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/7 0:39:20

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/7 6:36:21

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/6 17:25:36

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/6 14:29:05

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/6 14:29:07

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉