LoginSignup
10
3

More than 5 years have passed since last update.

ホスト側からDockerのPostgreSQLに接続する方法(Docker for Macの場合)

Posted at

Docker for macの各コンテナへホスト側からアクセスする際のアドレスは、localhostです。
docker-machineの場合はdocker-machine envでIPアドレスを確認をする必要があるので、その点楽ですね。

しかしlocalhostゆえにホスト側のシステムとバッティングし、うまくコンテナにアクセスできない場合が出てきます。

それが今回はまったDockerのPostgreSQLへのホスト側からアクセスです。

通常ホスト側からコンテナのPostgreSQLにアクセスする場合はオプションで-h localhostを指定すれば可能です。

$  psql -U ユーザー名 -d DB名 -h localhost

しかし、もしホスト側のPostgreSQLが起動している場合、psqlで自動的にホスト側のサーバーにアクセスしてしまうためロール又は、DBが存在しません。というエラーが出てしまいます。

その解決方法としてはlocalのPostgreSQLのサーバーを停止することです。
brewでinstallしている場合は以下コマンドでホスト側のPostgreSQLの停止を行えます。

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

再度

$  psql -U ユーザー名 -d DB名 -h localhost

でアクセスすればDockerのPostgreSQLにアクセスできるはずです。

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3