docker - 使用 prisma 在 Navicat 上插入 Postgres 数据库
问题描述
我目前正在使用 Prisma 和 Postgres 数据库做一个应用程序,但我无法将我的数据库连接到 Navicat。我是 docker 的初学者,并不完全了解服务是如何工作的。我现在docker-compose.yml
是
version: '3'
services:
prisma:
image: prismagraphql/prisma:1.8
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: postgres
port: 5432
user: prisma
password: prisma
migrations: true
postgres:
image: postgres
restart: always
environment:
POSTGRES_USER: prisma
POSTGRES_PASSWORD: prisma
volumes:
- postgres:/var/lib/postgresql/data
volumes:
postgres:
我在 Navicat 上尝试的是这个,在我看来是正确的,但似乎不是。
谢谢你的帮助 !
解决方案
您需要使用容器的属性使用端口映射:ports
postgres
version: '3'
services:
prisma:
image: prismagraphql/prisma:1.8
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: postgres
port: 5432
user: prisma
password: prisma
migrations: true
postgres:
image: postgres
restart: always
ports:
- "5432:5432"
environment:
POSTGRES_USER: prisma
POSTGRES_PASSWORD: prisma
volumes:
- postgres:/var/lib/postgresql/data
volumes:
postgres:
然后你应该能够连接到localhost:5432
一个 Postgres 客户端,比如 Navicat。
推荐阅读
- neovim - 如何修复 Neovim gruvbox 以工作 powershell
- amazon-web-services - 挂载失败:在 Kubernetes 使用 EBS 卷时退出状态 32
- sharepoint-online - 从命令行自动生成clientId和clientSecret
- coq - 如何在 coq 中证明 (f1+f1 = f2+f2 -> f1 = f2)
- python - 在 macOS 中重新安装 pip2?
- python - 我可以为 Django 自定义命令创建一个文件夹而不是文件吗?
- oracle-apex - 如何为 ORDS RESTful 服务参数传递参数?
- docker - Azure DevOps MS 托管容器管道中的设置脚本
- servlets - 我如何设置 API url,以便只有 IP 白名单客户端可以访问 API,而 Web 应用程序本身仍然可供所有人访问?
- reactjs - 用于 github 页面的 React 应用程序