web-dev-qa-db-ja.com

Prisma DeployDockerエラー「サーバーに接続できませんでした」

これは私が行った手順です

prisma init

ローカル(存在しない)のデータベースにpostgresqlを設定しました。

Datamodel.graphql、docker-compose.yml、prisma.ymlの3つのファイルを作成しました

docker-compose up -d

正常に動作していることを確認しました enter image description here しかし、prisma deployを呼び出すと、エラーが表示されます

Could not connect to server at http://localhost:4466. Please check if your server is running.

私が行ったのはマニュアルに記載されている標準操作だけで、カスタマイズはありません https://www.prisma.io/docs/tutorials/deploy-prisma-servers/local-(docker)-meemaesh3k

そしてこれはdocker-compose.ymlです

version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.11
    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: postgres
            Host: localhost
            port: '5432'
            database: databasename
            schema: public
            user: postgres
            password: root
            migrations: true

何が足りないのですか?

6
Nomura Nori

ドキュメントに記載されています

docker ps

次のような出力が表示されます。

$ docker ps
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                    NAMES
2b799c529e73        prismagraphql/prisma:1.7            "/bin/sh -c /app/sta…"   17 hours ago        Up 7 hours          0.0.0.0:4466->4466/tcp   myapp_prisma_1
757dfba212f7        mysql:5.7                           "docker-entrypoint.s…"   17 hours ago  

(ここではmysqlで示されていますが、postgresqlでも有効です)

重要なのは、1つではなく2つのコンテナが実行されている必要があるということです。

小切手 docker-compose logs 2番目(データベース)が開始されなかった理由を確認します。

1
VonC

私が直面していたのと同じ問題に対するこの解決策を見つけました

docker-machine ip default

このアドレスを使用し、「localhost」を上記のコマンドでIPに置き換えて、prisma.ymlファイルで次のようにします。

endpoint: http://1xx.1xx.xx.xxx:4466

答えはこれから参照されます Github Link

6
kaushalop