2017-12-17 14 views
0

私はDockerの.netコアでWebAPIを使用しています。私は他のWebアプリケーションで動作するローカルのmysqlデータベースを使用してAWS EC2インスタンスにこのAPIをデプロイします。Docker .netコアからlocalhost Mysqlに接続

どのように私はドッカーの中からこのMysqlにアクセスできますか?

ローカル私は$my_local_ipは私がDBに接続するために使用すべきかを決定するために

=> optionsBuilder.UseMySql(@"Server=$my_local_ip;database=db_name;uid=user;pwd=pass;"); 

ホーで私のプライベートIP ADDRESを使用することによってそれを行うことができますか?

しかし、EC2でプライベートIPを使用しているうちに、MYSQLホストに接続できないという要求を送信中にエラーが発生しました。

+0

MySQLデータベースとWeb APIコンテナは同じマシンにありますか? MySQLはコンテナ内でも実行されていますか? –

+0

@JanshairKhan MySQLデータベースとWebAPIは同じマシン上にあります。 WebAPIのみがコンテナにあります。 MySQLはDockerの外でlocalhostを操作しています。 –

答えて

1

MySQLサーバの場合、通常、同じサーバ上の各インスタンスが異なるポートを使用するため、接続するポートを指定する必要があります。

+0

しかし、このMysqlはドッカー内で動作していません。どのようにドッカーがこのポートを探すべきか知っていたでしょうか? –

0

Web APIコンテナを起動するときに--network=hostフラグを使用し、ホスト名として接続文字列localhostを使用します。これにより、Dockerコンテナがホストネットワークにアクセスできるようになります。したがって、コンテナからMySQLデータベースにアクセスできます。

注:これは、コンテナ化された作業負荷を実行するためには安全ではありません。Click Here to learn more

関連する問題