web-dev-qa-db-ja.com

Docker&Postgres:すでに使用中のTCP 0.0.0.0:5432アドレスのバインドに失敗しました

問題

MacのDockerコンテナーでpostgresを起動しようとしていますが、次のエラーメッセージが表示され続けます

docker:デーモンからのエラー応答:ドライバーはエンドポイントpostgresでの外部接続のプログラミングに失敗しました(8392b9e5cfaa28f480fe1009dee461f97e82499726f4afc4e916358dd2d2f61e):ユーザーランドプロキシの開始エラー:使用中のTCP 0.0.0.0:5432アドレスのバインドに失敗しました。

ローカルにpostgresをインストールしていますが、停止して実行しています

pg_ctl status

戻り値

pg_ctl:サーバーが実行されていません

5432で何が実行されているかを確認するために、以下を実行しました

lsof -i tcp:5432

netstat -anp tcp | grep 5432

ポートで何も実行されていません。

バージョン

Mac-OS X El Capitanバージョン10.11.2

PostgreSQL-9.5

Docker-Dockerバージョン1.12.0-rc2、ビルド906eacd、実験的

18
user3147424

ホストでlsof -i :5432を実行すると、ポートにバインドされているプロセスを確認できます。

Postgresのインスタンスが実行されています。必要に応じて、kill <pid>を実行して強制終了できます。 dockerコマンドまたはdocker-composeファイルで5432の代わりに5432:5432を使用して、dockerにホストポートを自動的に選択させることもできます。

20
blockloop