и скриптом (python)
бд запускаю командой:
docker run —rm —name postgres_db -e POSTGRES_PASSWORD=sl8s36yR7 -p 5432:5432 -d postgres
скрипт подключения:
conn = psycopg2.connect(
database="postgres", user='postgres', password="sl8s36yR7", host='localhost', port='5432'
)
на локалке скрипт подключается, но если переношу его в контейнер - ошибка:
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
пробовал менять значение хоста на название контейнера с бд, на 0.0.0.0 (и много других), но не помогает
помогите пожалуйста..
Конечно не получится, потому что во втором контейнере нет не какого postgres на localhost
а как с ним связаться? я читал, что если указать порт, то он будет доступен и между контейнерами (то есть автоматически пропишет expose)
и добавить их в одну сеть, по именам контейнеров только в одной сети можно общаться, но не в дефолтной
Можна пожалуйста какую-то ссылку почитать?
Делайте через docker-compose массу времени сэкономите
https://docs.docker.com/network/network-tutorial-standalone/#use-user-defined-bridge-networks
Обсуждают сегодня