2017-11-06 14 views
1

OSxのDockerコンテナでpostgresを実行しています。最初はローカルに接続しようとしました。いくつかの掘削後、私は、あなたがOSXでlocalhost上に接続できないことが判明あなたはドッキングウィンドウが内部で使用しているIPアドレスに接続する必要がOSxのDockerコンテナで動作するポストグルにどのように接続しますか?

docker run -i -d -h localhost -p 5432:5432 --name some-postgres -t my-postgres:9.6 postgres 

:私はコンテナを開始しました。だから192.168.99.100:2376にvmを作成するのにdocker-machineを使った。しかし、私はまだポストグルに192.168.99.100:5432以上で接続することはできません。私は何が欠けていますか?どんな助けでも大歓迎です。

答えて

1

お持ちの場合Mac用のDockerの場合、localhostの場合はとなります

+0

Mac用のDockerがありますが、 'localhost'への接続はできません。しかし、virtualbox 、私は 'docker-machine ip'が' 192.168.99.100'を返すことを発見しましたが、実際には '192.168.99.1'に接続できました。ここで何が起こっていると思いますか? –

+0

これはうまくいったのですが、問題はlocalhost上で実行中の別のpostgresがあったことです。 –

1

ここでは、Docker for Macを使用してPostgresを起動する方法の実例を示します。それはあなたの例に似ています。

これはではなく、ドッカーマシンであることに注意してください。

docker run --rm -it \ 
-p 5432:5432 \ 
-e POSTGRES_USER=user-ms \ 
-e POSTGRES_PASSWORD=12345 \ 
postgres 

私はドッカーホストからの接続を確立しようとした...

localhostが働いた:

psql --user user-ms -h localhost 

とローカルIPアドレスも働い:

psql --user user-ms -h "$(ifconfig \ 
| grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" \ 
| grep -v 127.0.0.1 \ 
| awk '{ print $2 }' \ 
| cut -f2 -d: \ 
| head -n1)" 
+0

これは私にとっては役に立ちません。 dbに接続しようとすると、user-msが存在しません。 –

関連する問題