問題タブ [docker-networking]
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.
docker - Docker の「ホスト」および「なし」ネットワークの用途は何ですか?
Docker ネットワークを理解しようとしています。Docker は、次のネットワークを自動的に作成します。
リンクから参照すると、ブリッジネットワークはすべての Docker インストールに存在する docker0 ネットワークを表していることがわかりました。
誰かが他のネットワーク、ホストとなしを理解するのを手伝ってくれますか?可能であれば、例を挙げて?
docker - 別々のコンテナー内のアプリ間の Docker 通信
私はこの答えをどこでも探していました。私には当然の質問のように思えますが、答えは私にはわかりませんでした。
私の現在のセットアップは、同じブリッジネットワーク上にredis、mongodb、および2つのAPIサーバーがあります。最初のサーバーは、すべての認証を行うゲートウェイ API として機能し、特定の API 呼び出しを公開します。バックエンド API は、すべてのデータベース インタラクションとデータ変更を処理する API です。バックエンド (内部) API のみをヒットすると、コンテンツを表示できます (この API は実際の運用環境では公開されません)。ただし、ゲートウェイ API 内から同じ要求を行うと、作成したブリッジ ネットワークの一部でもあるバックエンド (内部) API にアクセスできません。
以下は、コンテナーの相互作用の図です。
docker - Docker がホスト マシンへのリンクを公開
アプリケーション サービスとデータベース サービスにdocker-compose.ymlファイルを使用しています。
アプリケーション サービスは、 db-serviceをホストとして接続文字列を使用してデータベースに接続します。
実行中のアプリ コンテナーでは問題なく動作しますが、ホスト マシンから同じ接続文字列を使用してデータベースにアクセスする必要もあります。(開発中のデータベース移行用)
ホスト マシンにルートを追加することを考えました:
db-service -> localhostしかし、これはホスト オペレーティング システムに依存するため、適切な解決策ではありません。ホストマシンがデータベースコンテナーに接続するため、接続文字列でlocalhostを使用しようとしました。しかし、明らかに、アプリケーション コンテナは接続できなくなります。
また、構成ファイルでnetwork_mode設定とネットワークドライバーをいじってみましたが、うまくいきませんでした。
ホスト マシンのようにコンテナーで同じホスト名を使用するにはどうすればよいですか?
docker - Docker Swarm サービス ネットワーキング
DevOps 大学のプロジェクトでは、docker や Jenkins などを使用して Web ビデオ ストリーミング サービスを構築する任務を負っています。その方法については完全に自由です。Swarm は面白そうだったので、行きます(おそらくいくつかのボーナスポイントを与える複製を行うため)。
私のバックグラウンドはデータ関連なので (Python はとても楽しかったです)、サーバーやネットワークなどは私の得意分野ではありません。また、これはすべて私のマシンでローカルに行われています。
実際の docker サービス (Mongodb サービスと通信するための softinstigate/restheart イメージ) との通信に苦労しています。
2 台の Docker マシンに複製されます。次にローカル ネットワークに接続し、ローカル ネットワークは別の「プロキシ」オーバーレイ ネットワークに接続します。
では、その特定の restheart api サービスに接続して、HTML ページのデータを取得するにはどうすればよいでしょうか? 通常のコンテナのビルドなどは、localhost:chosenport になります。しかし、ドッカーマシンでは別のIPアドレスだと思いますか? ポート番号はどのように定義されていますか?
要するに、たとえばウェブサイトのページから群れ内の特定のサービスに接続するにはどうすればよいのでしょうか?
読み通す記事をいくつか見つけましたが、その時点では頭も尻尾もできませんでした。localhost アドレスをリーダー swarm ノードの IP アドレスに変更しようとしたのかもしれませんが、うまくいかないようでした (しかし、それは少し前のことでした)。
従うべきセットアップのための Docker コマンド - 外出中の私の電話で。
networking - Docker/Containers が VM ネットワークを使用する代わりに独自のネットワーク概念 (CNM/CNI) を持っているのはなぜですか?
私は最近、CNM(Container Network Model) と CNI(Container Network Interface) モデルを説明するコンテナ ネットワークの概念に関する記事を読んでいました。
2 つの質問が出てきます。
- なぜコンテナにこのようなネットワーク設計 (CNM/CNI) があるのでしょうか?
- コントローラーでフロー テーブルを更新しながら、さまざまな VM をホスト OVS に接続するだけの VM ネットワーキング スキームを使用し続けないのはなぜですか?
docker - Docker の外部ルーティング可能なコンテナー
単一の VM で外部ルーティング可能な Docker コンテナーを作成するにはどうすればよいですか?
これが私の苦境です... Ubuntu 16.04 VMで実行されている1..nコンテナーをセットアップしようとしています。これは、外部からルーティング可能な一意のIPアドレスが提供され、各コンテナーが同じポートでリッスンできるようにします(ホストでのポートの競合を回避します) )。
私はすでに IP アドレスを NIC に追加し、それを個々のコンテナに割り当てる方法を試しました。これは機能しますが、かなり面倒な解決策です。また、この問題を解決できると考えて MACVlan Docker ネットワークを実装しようとしましたが、どのコンテナーもネットワークの外部に到達できません (つまり、コンテナーと別の仮想マシンの間で ping を実行できません)。MACVlan に関して読んだことから、コンテナーがホストと通信できないことは理解していますが、同じサブネット/ネットワーク上の他のシステムに到達できると考えていました。ただし、MACVLan を使用すると、コンテナーは互いに通信できます。
私が探している種類の実装に対する可能な解決策を誰かが持っていますか、または VM の NIC に IP アドレスを追加するのに行き詰まっていますか?
docker - docker-compose: ネットワークとリンクの違い
ドッカーを学んでいます。これらの2つの用語が私を混乱させているようです。たとえば、2 つのサービスredis
とを定義した docker-compose を次に示しますweb-app
。
このdocker-compose
ファイルは、lognet という名前のブリッジ ネットワークを定義し、すべてのサービスがこのネットワークに接続します。私が理解しているように、このアクションにより、これらのサービスは他のサービスを見ることができます。では、上記のケースでアプリ サービスがまだ redis サービスにリンクする必要があるのはなぜですか。
ありがとう