postgresql - 无法从 docker-compose postgresql 服务连接到 postico
问题描述
我已经完成了 docker-compose up 并且能够运行附加到 postgresql 映像的 Web 服务。问题是,当我尝试访问数据库时,我无法查看 postico 上的数据。图像的名称是 db,当我在连接之前尝试在 postico 上将主机名指定为“db”时,我收到一条错误消息,提示找不到主机名。我已经输入了我的凭据、端口和数据库名称,就像我在我的 docker-compose 文件中键入它们一样。
有人知道我如何在容器内找到正确的连接设置吗?
version: '3.6'
services:
phoenix:
# tell docker-compose which Dockerfile it needs to build
build:
context: .
dockerfile: Dockerfile.phoenix.development
# map the port of phoenix to the local dev port
ports:
- 4000:4000
# mount the code folder inside the running container for easy development
volumes:
- ./my_app:/app
# make sure we start mongodb when we start this service
# links:
# - db
depends_on:
- db
- redis
environment:
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
FACEBOOK_CLIENT_ID: ${FACEBOOK_CLIENT_ID}
FACEBOOK_CLIENT_SECRET: ${FACEBOOK_CLIENT_SECRET}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_USER: ${POSTGRES_USER}
go:
build:
context: .
dockerfile: Dockerfile.go.development
ports:
- 8080:8080
volumes:
- ./genesys-api:/go/src/github.com/sc4224/genesys-api
depends_on:
- db
- redis
- phoenix
db:
container_name: db
image: postgres:latest
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_USER: ${POSTGRES_USER}
volumes:
- ./data/db:/data/db
restart: always
redis:
container_name: redis
image: redis:latest
ports:
- "6379:6379"
volumes:
- ./data/redis:/data/redis
entrypoint: redis-server
restart: always
解决方案
使用主机名作为localhost
.
您不能db
在内部 docker 网络之外使用主机名。这将适用于在同一网络中运行的应用程序。由于您将 db 暴露在 port 上运行5432
,因此它是通过暴露的0.0.0.0:5432->5432/tcp
,因此可以localhost
作为 host 和 port访问5432
推荐阅读
- javascript - Jquery在数组上保存编辑的值
- swiftui - 当另一个视图从 AVCaptureDevice API 获取新值时,SwiftUI Picker View 的奇怪行为
- string - TCL 部分字符串匹配
- javascript - jQuery - 在编辑模式中捕获行字段的值
- flutter - 在 Flutter 中移除屏幕底部的空间?
- python - 在 python os.system 中使用 linux sed 命令
- java - Hibernate 不插入连接表,因为 id 为空
- wordpress - 在单个产品视图的“添加到购物车”按钮中显示包括附加组件的价格
- javascript - Discord.js 机器人仅检测单独文件中的最后一个命令
- php - TYPO3:tx_news 扩展中的新字段的缓存问题