ドッカーチュートリアルhttps://docs.docker.com/get-started/part2/#share-your-imageの導入では、コンテナはdocker run -p 4000:80 friendlyhello
で開始され、コンテナサーバーは期待通りにhttp://localhost:4000
からアクセスできます。 しかし、私はDockerfile FROM postgres ENV POSTGRES_USER=user-ms ENV POSTGRES_PASSWORD=12345
ドッカーコンテナIPアドレスの違い
とコマンドdocker run -p 5432:5432 user-db
と、コンテナ内のPostgresを実行しようとしたとき、サーバが唯一psql -h 172.17.0.2
で、ローカルホストにアクセスすることはできません。
なぜこれらの2つのケースが異なるのですか? https://docs.docker.com/engine/userguide/networking/によれば、両方ともデフォルトでブリッジネットワークに属し、172.17.0.1
ゲートウェイである必要があります。最初の例は、localhost上でどのようにアクセス可能なのでしょうか?
どのようなエラーが表示されますか? –
'docker inspect
harshavmb
エラーが '' 'psql:サーバに接続できませんでした:そのようなファイルやディレクトリはありません \tサーバがローカルで動作していて、Unixドメインソケット上の \t接続を受け付けていますか?/var/run/postgresql/.s.PGSQL.5432 "?" ''、 下記のコメントをご確認ください。 –