Я пытался имитировать [MySQL way] [1], чтобы сделать это, но у меня не получилось. Я также попробовал несколько вариантов, начиная от: добавления сетевого интерфейса к явному указанию IP контейнера, ни один из них не работает (так как IP контейнера всегда менялся).
Сообщение об ошибке:
"could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket \"/tmp/.s.PGSQL.5432\"
}
Это мой код:
Мое приложение для колб:
connection = psycopg2.connect(
database=os.environ.get("DB_NAME"),
user=os.environ.get("DB_USER"),
password=os.environ.get("DB_PASSWORD"),
sslmode=os.environ.get("DB_SSL"),
host=os.environ.get("DB_HOST"),
port=os.environ.get("DB_PORT"),
)
Мой файл для создания докеров:
version: '3'
services:
flask-api:
image: flask-api:0.7.0
ports:
- '5000:5000'
environment:
- DB_NAME = knotdb
- DB_HOST = roach1
- DB_PORT = 26257
- DB_USER = root
- DB_SSL = disable
links:
- roach1
roach1:
image: cockroachdb/cockroach:v1.1.3
command: start --insecure --host=127.0.0.1
ports:
- "26257:26257"
volumes:
- ./cockroach-data/roach1:/cockroach/cockroach-data
Другие мои различные попытки:
# adding network to both service : didn't work
# using ip instead of alias: didn't work
links:
- roach1:127.0.0.1
1: Как обрабатывать IP-адреса при связывании контейнеров Docker друг с другом с помощью docker-compose?