私は独自のDockerfileを持つReactJSプロジェクトを持っています。ポート3000:3000を公開しています。ReactJSブラウザアプリケーションはDocker Composeネットワーク内のものを見ることができません
また、ポート80:80を公開する独自のDockerfileを持つPHPプロジェクトもあります。 PHPアプリケーションには、MySQL、Redis、Nginx用のコンテナもあります。
PHPアプリケーションの場合、PHP、Nginx、MySQL、Redisが通信するためのネットワーク(my-net
)を作成するドッカー作成ファイルがあります。しかし、ReactJS(これは別のプロジェクトにあります)がPHPアプリケーションと通信できるようになりました。
Reactプロジェクトにドッカー作成ファイルを追加し、PHPプロジェクトmy-net
からネットワークに追加し、それを作成しようとしないようにexternal
と宣言しました。
これはうまくいくようです:ReactJSコンテナから、app
(バックエンドサービスの名前)にpingして正常に動作します。しかし、ReactJSコードから、axios
のようなものを使用してバックエンドAPIを試しても、app
またはhttp://app
またはそれ以外のバリエーションを解決することはできません。しかし、それをaxios
に置き換えると、基になるIPアドレスにアクセスすることができます。
ホスト名解決に問題があるようですが、これはおそらくaxios
/JavaScriptの終了です。私が行方不明の何かがあるか、これがうまくいかない理由がありますか?
わかりません。私は内部的にPHPアプリケーションにアクセスしているブラウザからReactアプリケーションにアクセスしようとしています。しかし、私がそうすると、ReactはPHPアプリケーションに接続できないようです – djt
リクエストはreactjs/browserや反応容器の中の何かから来ていますか?私は、反応容器が静的なファイルサーバーだと思った。 – Julian
ReactJS(javascript)はPHPアプリケーションにリクエストしています。つまり、私のブラウザではReactJSの公開ポートであるlocalhost:3000にアクセスします。そのエンドポイントにヒットすると、ReactはPHPコンテナにリクエストを出します。これは失敗する部分です。 ReactJSコンテナからPHPアプリケーションをpingすることはできますが、アキシャルを使用してJavascriptコードからリクエストを作成しようとすると、ホストを解決できません。 – djt