docker compose:从docker容器访问本地主机
我有一个在docker容器中运行的服务。此服务需要访问在另一个集群中运行的数据库(我使用docker compose:从docker容器访问本地主机,docker,docker-compose,Docker,Docker Compose,我有一个在docker容器中运行的服务。此服务需要访问在另一个集群中运行的数据库(我使用kubectl-port-forward,然后访问localhost:5432中的数据库) 这是我的docker compose文件 version: '3' services: api: build: . ports: - "8000:8000" - "5432:5432" environment: - APP_PORT=8000
kubectl-port-forward
,然后访问localhost:5432中的数据库)
这是我的docker compose
文件
version: '3'
services:
api:
build: .
ports:
- "8000:8000"
- "5432:5432"
environment:
- APP_PORT=8000
- DB_SERVER=localhost
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=mypassword
端口5432
的重定向似乎无法按预期工作,因为容器内的数据库连接失败。你能帮我弄清楚出了什么问题吗 在当前上下文中,localhost是api容器地址。您必须为正确的地址设置DB\u SERVER。您的服务和数据库必须位于同一docker网络中,然后您可以使用内部docker地址解析程序。之后,您应该设置DB_SERVER=postgres。另一种方法是,您可以将DB_服务器设置为您的主机地址
以下是在docker compose中定义网络的方式:
在当前上下文中,localhost是api容器地址。您必须为正确的地址设置DB\u SERVER。您的服务和数据库必须位于同一docker网络中,然后您可以使用内部docker地址解析程序。之后,您应该设置DB_SERVER=postgres。另一种方法是,您可以将DB_服务器设置为您的主机地址
以下是在docker compose中定义网络的方式: