2017-09-30 13 views
1

私はLinux上の他のチケットを見ました。私の問題はWindows上です。WindowsマシンのDockerコンテナの内部からlocalhost上のMySQLサーバに接続する方法は?

コンテナー内でJavaコードを実行して、localhostのMySQLに接続する場合、つまり127.0.0.1です。

ホストからはlocalhostまたは127.0.0.1のいずれかでMySQLに接続できますが、コンテナからは接続できません。

また、--net="host"というネットワークオプションを試しました。

答えて

0

net = hostオプションはDocker for Windowsでは動作しません。

ホストマシンに接続するには、ドッカーネットワークインターフェイス上でホストマシンのipを取得し、そのipを使用して接続する必要があります。

Windowsマシンでコマンドipconfigを実行し、ドッカーインターフェイスのipを取得します。コンテナの内部では、そのIPを使用してホストマシン上で実行されているMYSQLに接続します。

+0

は、上記の提案をしようとしました。運がない。上記の作業のためにMySQL側を変更する必要がありますか? Ipconfigは、DockerNatに関連付けられたアドレス10.0.75.1と、このIPを使用するコンテナ内で実行されているコードを示しました。 – user2849678

+0

あなたはコンテナ内でexecを試して、10.0.75.1をpingできますか? 'docker exec -it bash' – yamenk

+0

はい、私はこのIPで正常にpingできますが、MySQLはこのIPでリッスンすることはできません。上記のdocker.for.win.localhostソリューションが動作しました。 – user2849678

関連する問題