首页/新闻资讯/正文详情

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

发布时间:2026/9/24 9:52:43 来源:云帆数科 栏目:资讯中心
使用 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),仅供参考

相关推荐

艺考生全日制文化课择校必看:8 个核心核查标准
艺考生全日制文化课择校必看:8 个核心核查标准

联考结束,艺体生们刚放下画笔或乐器,就要立刻面对文化课这座大山。专业集训导致的文化课断层、备考时间短、基础薄弱,是每个艺考生必须跨越的鸿沟。市面上全日制文化课机构鱼龙混杂,选错不仅浪费高昂的学费,更会耽误孩… · 2026/9/24 9:52:43

打算在嵊州挑选靠谱瓷砖?本地商家真实口碑情况不妨提前了解
打算在嵊州挑选靠谱瓷砖?本地商家真实口碑情况不妨提前了解

行业痛点分析数据表明,2023年嵊州、新昌地区家装投诉中,瓷砖类相关投诉占比达17%,其中色差不符、防滑性能不达标、补货滞后三类问题占比超80%。当前本地瓷砖采购领域的核心技术挑战集中在三点:一是特殊空间瓷砖规格适配性不足&… · 2026/9/24 9:52:43

深度解读Work Agent长程任务的中间校验与自主优化机制
深度解读Work Agent长程任务的中间校验与自主优化机制

AI技术的落地路径,过去几年已经走过了清晰的演化脉络:最早的单轮问答模式下,用户输入一个问题,系统返回对应答案,交互链路在单次请求内就完成闭环;随后多轮对话能力成熟,系统可以记住前序几轮的… · 2026/9/24 9:52:36

STM32不掉电时钟方案:DS1302+纽扣电池实战记录
STM32不掉电时钟方案:DS1302+纽扣电池实战记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:28:58

Kornia 修复四元数奇点处 NaN/Inf 梯度:`quaternion_exp_to_log` 与 `euler_from_quaternion` 的边界防护实现解析
Kornia 修复四元数奇点处 NaN/Inf 梯度:`quaternion_exp_to_log` 与 `euler_from_quaternion` 的边界防护实现解析

计算机视觉人工智能深度学习图像处理 【免费下载链接】kornia 🐍 Geometric Computer Vision Library for Spatial AI 项目地址: https://gitcode.com/gh_mirrors/ko/kornia 点击查看 免费下载 导读 位姿优化与刚体运动学中,四元数对数和欧… · 2026/9/24 10:28:58

鸿蒙开发:ArrayList,可不会让UI更新哦
鸿蒙开发:ArrayList,可不会让UI更新哦

前言有同学遇到了一个问题&#xff0c;他是使用ArrayList来存储的数据&#xff0c;在动态给集合添加数据后&#xff0c;UI并未更新&#xff0c;代码如下&#xff1a;import { ArrayList } from kit.ArkTS;Entry Component struct Index {State numItems: ArrayList<string&g… · 2026/9/24 10:28:51

用NanoVNA调NFC天线匹配:从S11到读卡距离全面提升
用NanoVNA调NFC天线匹配:从S11到读卡距离全面提升

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:28:45

深度解读:Work Agent如何联动企业知识与协作系统完成长程业务任务
深度解读:Work Agent如何联动企业知识与协作系统完成长程业务任务

AI技术的落地轨迹&#xff0c;正在从即时对话向自主任务执行持续迁移。早期大模型只能完成单轮问答&#xff0c;用户提出问题&#xff0c;模型给出对应文本输出&#xff0c;上下文窗口限制了任务的延续性&#xff1b;随后多轮对话形态出现&#xff0c;模型可以记住一段对话内的… · 2026/9/24 10:28:33

Marchand巴伦设计指南:从原理、ADS仿真到PCB实现与调试
Marchand巴伦设计指南:从原理、ADS仿真到PCB实现与调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 10:28:33

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介&#xff1a;这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源&#xff0c;围绕YOLOv8实现渔船作业监控系统&#xff0c;可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件&#xff0c;约24.21MB&#xff0c;以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介&#xff1a;面向时间序列数据建模的一维卷积神经网络完整实现&#xff0c;适合深度学习入门者及需要快速验证时序模型的研究者&#xff0c;能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小&#xff0c;只有3KB&#xff0c;内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L&#xff0c;而是舌尖上的L最近在几个方言群和语音教学社群里&#xff0c;反复看到有人发一句&#xff1a;“也说字母L&#xff1a;柔软的长舌”。初看以为是英语发音课笔记&#xff0c;点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码