2015-09-22 3 views
0

Я использую Postgres: 9.3 Docker контейнер с официального Docker ступицыКак создать базу данных postgresql, подключаемую извне контейнера докеры postgres?

https://hub.docker.com/_/postgres/ 

начал контейнер базы данных с помощью команды

docker run -d -e POSTGRES_PASSWORD=mysecretpassword -p 25432:5432 --name osm-database osm-database 

и подключиться к нему, используя Docker ссылку из другого контейнера (OSM-Updater)

docker run -d --link osm-database --name osm-updater osm-updater 

Теперь я обнаружил, что я не могу Psql к базе данных из OSM-Updater контейнера, получить ошибку

psql: could not connect to server: Connection refused 
Is the server running on host "172.17.0.12" and accepting 
TCP/IP connections on port 5432? 

таким образом я исследовал сетевые сокеты внутри OSM-базы данных контейнера с

netstat -tulpn 

Результат

tcp  0  0 127.0.0.1:5432   0.0.0.0:*    LISTEN 

который показывает внутри контейнера OSM-базы данных, в Postgres БД может подключаться только к 127.0.0.1, что неправильно? должно быть 0.0.0.0:5432?

так, что я не смог подключиться к OSM-базе данных из OSM-обновление с помощью команды, как

psql -U postgres -p 5432 -h 172.17.0.12 

172.17.0.12 является ip_address, полученный с (докер команды инспектировать)

Как я могу это исправить ? Как я могу изменить столбец «локального адреса» сетевого сокета

ответ

0

Вы действительно хотите использовать eth0 машины. Если вы находитесь в Linux, вы можете захватить его через ifconfig и подключиться к базе данных на порту 25432, так как это порт, который вы просматриваете.

Смежные вопросы