Я пытаюсь устранить проблему с соединением между моим клиентом postgres и контейнером докеров postgres (локально).
Чтобы запустить мой док-контейнер, я выполнил следующую команду:
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=docker postgres:9.4
Контейнер успешно запускается.
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14310d9f0ece postgres:9.4 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:5432->5432/tcp postgres
Затем я использую свой клиент psql, который я установил через homebrew, чтобы попытаться подключиться, и он просто зависает:
➜ ~ psql --version
psql (PostgreSQL) 9.4.22
➜ psql -h 127.0.0.1 -p 5432
// hangs
Я также попытался использовать pgAdmin для подключения, который также не может подключиться. В контейнере нет журналов, указывающих на попытку подключения. Расстраивает то, что я могу успешно пропинговать контейнер:
➜ ~ nc -vz localhost 5432
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif lo0
src ::1 port 51856
dst ::1 port 5432
rank info not available
TCP aux info available
Connection to localhost port 5432 [tcp/postgresql] succeeded!
Я также проверил, может ли что-нибудь еще слушать на 5432, но похоже, что это всего лишь докер
➜ ~ lsof -n -i :5432 | grep LISTEN
com.docke 13037 steve 27u IPv4 0xd8d4bc5463376f87 0t0 TCP *:postgresql (LISTEN)
com.docke 13037 steve 115u IPv6 0xd8d4bc5462ccdd07 0t0 TCP [::1]:postgresql (LISTEN)
Нужны советы о том, как еще решить эту проблему.
Хорошо, потратив на это около дня, я столкнулся с проблемой github в докере, когда несколько пользователей сообщили о сетевых проблемах в докере на Mac. Я перезапустил свой ноутбук и теперь могу без проблем подключиться.
https://github.com/docker/for-mac/issues/3350
Я использую Docker версии 18.09.2, сборку 6247962 на Mojave Macbook Pro. Я обязательно добавлю себя в проблему с github.