У меня есть контейнер докеров, который должен запускать службу (HTTP). Этот контейнер должен иметь возможность подключаться к PostgresSQL, работающему на главной машине (так что он не является частью контейнера). Контейнер использует сетевые настройки хоста:Разрешение контейнера Docker на доступ к Postgres, запущенному на localhost
docker run -e "DBHOST=localhost:5432" -e "DB=somedb" -e "AUTH=user:pw" -i -t --net="host" myservice
Я использую MacOSX, так Docker работает на VirtualBox VM. Наверное, мне нужно переадресовать порт, чтобы выполнить эту работу. Я попытался настроить это:
VBoxManage controlvm "default" natpf1 "rule1,tcp,,5432,,5432";
Но это не работает. Если я запустил службу, все, что я получаю, - это сообщение об отказе подключения, и служба не может подключиться к Postgres.
Postgres работает на порту 5432, на главной машине. «По умолчанию» - это имя виртуальной машины, созданной установщиком Docker.
Что я делаю неправильно? Пожалуйста помоги!
Почему бы не запустить базу данных postgres в контейнере? Для этого есть много готовых изображений. – dnephin