You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建安装Prisma v5的Docker Compose文件及升级现有实例?

从Prisma v1.12升级到最新版Prisma的解决方案

首先明确:Prisma v1已经停止维护,官方Docker Hub上的prismagraphql/prisma镜像早就停更了。现在的「最新版Prisma」是Prisma ORM(原Prisma 2及后续版本),它和Prisma 1是完全不同的架构,没法直接替换镜像tag升级,得重构部署配置。

一、推荐方案:迁移到Prisma ORM

Prisma ORM不需要单独的Prisma服务容器,它作为应用依赖集成运行,步骤如下:

1. 编写Prisma Schema配置

在项目根目录创建prisma/schema.prisma文件,替换成你的数据库连接和数据模型:

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  // 直接使用你的Postgres连接地址,开启SSL
  url      = "postgresql://ijgyrvqtpinnqe:45c5b8e5eb835c06d51150e5869b655590c01d0ace319ac6bb8e01cfa57f55b2@ec2-50-16-241-91.compute-1.amazonaws.com:5432/d63k1orhak3ro8?sslmode=require"
}

// 这里替换成你原来Prisma 1的数据模型,比如:
model User {
  id    Int     @id @default(autoincrement())
  name  String?
  email String  @unique
}

2. 修改docker-compose.yml

不再需要单独的Prisma服务,把Prisma集成到你的应用容器中(以Node.js应用为例):

version: '3'
services:
  app:
    build: . # 指向你的应用Dockerfile路径
    restart: always
    ports:
      - "3000:3000" # 替换成你的应用端口
    environment:
      # 把数据库连接地址通过环境变量传给应用
      DATABASE_URL: "postgresql://ijgyrvqtpinnqe:45c5b8e5eb835c06d51150e5869b655590c01d0ace319ac6bb8e01cfa57f55b2@ec2-50-16-241-91.compute-1.amazonaws.com:5432/d63k1orhak3ro8?sslmode=require"

3. 编写应用Dockerfile

确保在构建镜像时生成Prisma Client并执行迁移:

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
# 生成Prisma Client供应用调用
RUN npx prisma generate
# 执行数据库迁移(如果需要同步数据模型到数据库)
RUN npx prisma migrate deploy
CMD ["npm", "start"]

二、临时方案:继续使用Prisma 1(不推荐)

如果暂时无法迁移到Prisma ORM,可以使用Prisma 1的最后一个官方版本(1.34.12),直接修改docker-compose.yml中的镜像tag即可,不需要自己构建:

version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.34.12 # 替换为最后一个官方版本tag
    restart: always
    ports:
    - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        port: 4466
        # managementApiSecret: my-secret
        databases:
          default:
            connector: postgres
            host: ec2-50-16-241-91.compute-1.amazonaws.com
            port: '5432'
            database: d63k1orhak3ro8
            ssl: true
            user: ijgyrvqtpinnqe
            password: 45c5b8e5eb835c06d51150e5869b655590c01d0ace319ac6bb8e01cfa57f55b2
            migrations: true

⚠️ 注意:Prisma 1已经没有安全更新和维护,长期使用存在风险,建议尽快迁移到Prisma ORM。

三、如果确实需要自行构建Prisma 1镜像(自定义需求)

只有当你需要修改Prisma 1源码时才需要自行构建,步骤如下:

  1. 克隆Prisma 1仓库:git clone https://github.com/prisma/prisma1.git
  2. 切换到目标版本分支:git checkout 1.34.12
  3. 进入docker构建目录:cd prisma1/docker
  4. 构建镜像:docker build -t 你的DockerHub用户名/prisma:自定义版本tag .
  5. 登录Docker Hub:docker login
  6. 推送镜像到仓库:docker push 你的DockerHub用户名/prisma:自定义版本tag

内容的提问来源于stack exchange,提问作者Harsh Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:07:26