Prisma 无法使用本地 Mongodb 部署

Posted

技术标签:

【中文标题】Prisma 无法使用本地 Mongodb 部署【英文标题】:Prisma can't deploy with local Mongodb 【发布时间】:2020-05-10 17:50:03 【问题描述】:

这是我的 docker-compose.yml:

version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.34
    restart: always
    ports:
    - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        port: 4466
        # uncomment the next line and provide the env var PRISMA_MANAGEMENT_API_SECRET=my-secret to activate cluster security
        # managementApiSecret: my-secret
        databases:
          default:
            connector: mongo
            uri: 'http://javad:javad@localhost:27017/admin'
  mongo:
    image: mongo:3.6
    restart: always
    # Uncomment the next two lines to connect to your your database from outside the Docker environment, e.g. using a database GUI like Compass
    # ports:
    # - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: prisma
      MONGO_INITDB_ROOT_PASSWORD: prisma
    ports:
      - "27017:27017"
    volumes:
      - mongo:/var/lib/mongo
volumes:
  mongo:

还有我的 prisma.yml:

endpoint: http://192.168.99.100:4466
datamodel: datamodel.prisma
databaseType: document

当我说

棱镜部署

我得到这个按摩:

错误:找不到工作区“*”和集群的集群 '默认'

“数据”: “generateClusterToken”:空,“错误”:[ "message": "找不到工作区 '*' 和集群 'default' 的集群", “地点”:[ “线”:3, “列”:9 ], “小路”: [ ], “代码”:222 ],“状态”:200

如果您需要帮助,请联系:https://slack.prisma.io 获取更多信息 详细输出,运行 $ export DEBUG="*" (node:17204) [DEP0066] 弃用警告:OutgoingMessage.prototype._headers 已弃用

谁知道问题出在哪里?

【问题讨论】:

【参考方案1】:

首先请检查您的 prisma 和 prisma cli 版本并尽可能更新,因为以前版本的 prisma cli 中存在错误(请参阅https://github.com/prisma/prisma/issues/4215)。

之后,请验证 prisma.yml 中指定的端点确实是可访问的,并且端口被正确转发。请测试将端点更改为localhost127.0.0.1 时问题是否仍然存在。

最后你可以尝试在 docker config 中设置 managementApiSecret 并将 PRISMA_MANAGEMENT_API_SECRET 添加到 env 文件中。

【讨论】:

以上是关于Prisma 无法使用本地 Mongodb 部署的主要内容,如果未能解决你的问题,请参考以下文章

Prisma 1 + MongoDB Atlas 部署到 Heroku 返回错误 404

使用 MongoDB API 无法使用 Prisma 和 CosmosDB 进行更新

Prisma deploy - 本地部署的身份验证错误

通过 Heroku 部署时,本地 MongoDB 将无法连接

prisma mongodb 试用

使用 Prisma + MongoDB + GraphQL 的嵌套关系返回 null