我在使用docker-compose连接PostgresDB到我的应用程序时遇到了困难。
我对docker compose的理解是,我可以将两个容器组合在一起,以便它们可以相互通信。假设我有一个位于“app”容器中的应用程序,该应用程序运行psql命令(只是一个带有“os.command(“psql”)”的单行Python脚本)。由于“app”容器没有安装postgres,因此它无法自行运行psql。但是,我认为在docker-compose.yml中组合两个容器将让我运行psql,但显然不是这样。
我在使用2个Postgres镜像,因为我正在尝试找到两个dbms之间的回归错误。
我对docker compose的理解是,我可以将两个容器组合在一起,以便它们可以相互通信。假设我有一个位于“app”容器中的应用程序,该应用程序运行psql命令(只是一个带有“os.command(“psql”)”的单行Python脚本)。由于“app”容器没有安装postgres,因此它无法自行运行psql。但是,我认为在docker-compose.yml中组合两个容器将让我运行psql,但显然不是这样。
我在使用2个Postgres镜像,因为我正在尝试找到两个dbms之间的回归错误。
version: "3"
services:
app:
image: "app:1.0"
depends_on:
- postgres9
- postgres12
ports:
- 8080:80
postgres9:
image: postgres:9.6
environment:
POSTGRES_PASSWORD: mysecretpassword
POSTGRES_USER: postgres
POSTGRES_DB: test_bd
ports:
- '5432:5432'
postgres12:
image: postgres:12
environment:
POSTGRES_PASSWORD: mysecretpassword
POSTGRES_USER: postgres
POSTGRES_DB: test_bd
ports:
- '5435:5435'
app
容器内部,你应该能够通过telnet postgres9 5432
进行连接。你得到了什么? - undefined