問題タブ [docker-network]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-core - 同じネットワーク内にあるにもかかわらず、コンテナが通信できない
.NET Coreこんにちは、サーバーをデータベースと通信させようとしていRedisます。サーバーはコンテナの外でもうまく機能します。
コンテナーがセットアップされました。ホスト ポート マッピングを使用してデータベースにアクセスできます。
ただし、サーバーがデータベースを呼び出す必要がある操作を行っていると、接続が拒否されます。
dockercompose
起動
デバッグのためexceptionに、サーバーがコンテナ内のファイル内にスローするものを書いており、それを使用して検索していますdocker exec -it <container_id> bash
スローするコントローラーメソッド
エラーは次のように表示されます: .アドレスが間違っていますかconnection refused for 127.0.0.1:6379? ip基本的に問題は次のとおりです。
経由で外部から Redis にアクセスでき、 経由で6381もアクセスできます。サーバーは両方の外部コンテナーと通信できます (したがって、独自のライブラリの障害はありません)。viaから
アクセスできません(どちらも->にあります)Server9400RedisRedisServer6379networkredis-net
docker - 一意の IP アドレスを使用して複数の docker-compose パイプラインをインスタンス化する
docker-composeパイプラインを複製しようとしています。このパイプラインは、一連のコンテナーを調整し、最終的にコンテナーport 80の 1 つport 8000を外部通信用のホストにマップします。
同じ docker-compose パイプラインの複数のインスタンスを作成して、各インスタンスが独自の IP アドレスを取得し、それを他のマシンで使用してパイプラインの対応するインスタンスにアクセスできるようにするにはどうすればよいport 8000ですか?
これが私が達成しようとしていることの視覚的表現です。
両方のインスタンスが同じポートを使用し、同じポートを公開していることに注意してください docker-compose.yml。ただし、違いは、一意の IP アドレスが割り当てられていることです。docker-compose パイプラインを特定のネットワークでのみ起動するように指示できますか? または、展開前に常に新しいネットワークを作成して、各インスタンスが新しい IP アドレスを取得し、その抽象化によってポートの衝突が発生しないようにします。
また、これは良いアプローチですか?そうでない場合、未使用のポートをマップするためにdocker-compose各ファイルを手動で変更する必要がないように、同じパイプラインの複数のインスタンスに動的にアクセスするための最良の戦略は何ですか?docker-compose.yml
mysql - docker --network で 2 つのコンテナを接続する
phpmyadmin コンテナーを別の mysql コンテナーに接続しようとしています。docker network create2 つのコンテナーを使用してネットワークを作成し、追加しました。しかし、phpmyadminでログインしようとすると、パスワードが間違っているというエラーが毎回表示されます。2 つのコンテナーが既に作成したネットワークで使用できることを確認したので、pingmysql コンテナーを phpmyadmin コンテナーにしようとしましたが、残念ながら否定的な結果が得られました。私はこのチュートリアルに従いました:
https://tecadmin.net/tutorial/docker/docker-networking-example/
褒め言葉が正確にどのように機能するか説明してもらえますdocker run --networkか?
