問題タブ [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から
アクセスできません(どちらも->にあります)Server
9400
Redis
Redis
Server
6379
network
redis-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 create
2 つのコンテナーを使用してネットワークを作成し、追加しました。しかし、phpmyadminでログインしようとすると、パスワードが間違っているというエラーが毎回表示されます。2 つのコンテナーが既に作成したネットワークで使用できることを確認したので、ping
mysql コンテナーを phpmyadmin コンテナーにしようとしましたが、残念ながら否定的な結果が得られました。私はこのチュートリアルに従いました:
https://tecadmin.net/tutorial/docker/docker-networking-example/
褒め言葉が正確にどのように機能するか説明してもらえますdocker run --network
か?