如何从 docker (Prisma) 连接到主机数据库
Posted
技术标签:
【中文标题】如何从 docker (Prisma) 连接到主机数据库【英文标题】:How to connect to host database from docker (Prisma) 【发布时间】:2018-10-18 20:09:05 【问题描述】:我用prisma init
创建了一个新的(本地)项目。但我无法连接到我的主机PostgreSQL
数据库。我尝试将主机设置为:
host: docker.for.mac.host.internal
但是当我参观游乐场时,我得到的只是error
:
找不到项目:'default$default
如何将 Prisma 连接到容器外在本地计算机上运行的数据库?
完整的 docker-compose.yml 看起来像:
version: '3'
services:
prisma:
image: prismagraphql/prisma:1.8
restart: always
ports:
- "4466:4466"
environment:
PRISMA_CONFIG: |
port: 4466
databases:
default:
connector: postgres
host: docker.for.mac.host.internal
port: '5432'
database: mydb
user: myusername
password: ''
migrations: false
【问题讨论】:
这在1.8.1
版本中有效吗?你的 CLI 版本是多少?
这不适用于 1.8.1 和 1.8.2。 CLI 版本为 1.8.0
您是否部署了默认服务?看起来您正在打开属于默认服务的 /
路由。你能访问/management
API 吗?当您prisma deploy
一项新服务时会发生什么?
这是一个本地服务,所以“docker-compose up” - 然后在一个新窗口“prisma playground”。我可以访问 /management 并在那里运行查询 - listProjects 返回一个空数组。
看来你还没有部署服务
【参考方案1】:
您是否尝试过先部署?在终端中使用 prisma.yml 更改目录并部署您的 Prisma 服务器
$ cd [dir of prisma.yml]
然后$ prisma deploy
【讨论】:
以上是关于如何从 docker (Prisma) 连接到主机数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Windows 10 上的容器连接到 docker 主机(Docker for Windows)
如何从 AWS SAM 本地 docker 实例连接到主机 MySQL?
如何使用 Docker Desktop for Windows 从主机连接到 Cassandra
无法从我的 Docker 容器内部连接到主机的 localhost