問題タブ [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 コンテナーにインターフェースを追加することは可能ですか?
しばらくの間、この問題が発生しており、修正方法がわかりません。アプリケーションで PHP + Apache を実行している Docker コンテナがあります。MySQL サーバーと MongoDB サーバーは、ホストと同じネットワーク上にあります。そう:
- MySQL DB サーバー IP: 192.168.1.98
- モンゴ DB サーバー IP: 192.168.1.98
- ホスト: 192.168.1.90
何らかの理由で、コンテナで実行されているアプリケーションと DB サーバー間の接続が非常に遅く、長いクエリを実行するのに 1 分以上かかる場合があります。
問題はDBサーバーではないと言えます。同じサーバーで同じアプリケーションを実行すると高速に動作するため、ネットワークに関連していると思いますが、何が原因か、理由がわかりません。
これについて何かアドバイスをいただけますか?
docker - Docker コンテナー内のマイクロサービスにアクセスしていますか?
port のコンテナーで実行されている Dropwizard Microservice があります9000
。
Dockerfile で、ポートを次のように公開しました
次に、コンテナを次のように実行しました
docker run --add-host="localhost:10.0.2.2" -t foo-service
ただし、アクセスしようとするとlocalhost:9000
、ブラウザで応答がありません。
Docker ホストからマイクロサービスにアクセスするにはどうすればよいですか?
Docker ホストは Ubuntu 16.04 です
どうもありがとう
docker - ネットワークと「内部」プロパティの例を使用した Docker コンポーズ
docker-compose.yml v2 でネットワーク宣言を使用した" internal " プロパティの使用例を見つけようとしました。
他の言葉でこれを行う方法を検索します:
ただし、docker-compose.yml では。
このバリアントを使用しようとすると、エラーが発生します。
エラーメッセージ:
docker - コンテナーからホスト トンネルに接続する docker
ホストでトンネルを使用している postgres db を使用して、docker コンテナー内から接続したいと考えています。ホストには、DB ホストを指すトンネルがあります。
トンネルは次のようにセットアップされます。
ホストから psql コマンドを起動できます。
ネットワークモードBRIDGEを使用しているため[ dockerがコンテナーポートをホストに正しく公開していないため、 HOSTを使用できません。https ://github.com/docker/compose/issues/3442を参照してください]を使用する必要があることを読みましたコンテナ IP:
この場合は172.17.0.1になります
しかし、コンテナの中に入ると:
私が持っている接続を試みます:
私が欠けているものはありますか?
docker - Docker: コンテナーからホストへのポートを開くことができません
を使用してDocker for Mac
います。サーバーを実行するコンテナーがあります。たとえば、サーバーはポート 5000 で実行されています。Dockerfile
コンテナーが実行されているときに、このコンテナーに接続し、以下のコマンドを実行してこのサーバーが機能しているかどうかを確認し、データ (html と javascript の束) が返されることを確認します。
注、このコンテナを起動し、コマンドでポートを外部に公開します:
しかし、docker ホスト (私の Mac で El Capitan を実行している) で、chrome を開いて address に移動しますlocalhost:5000
。うまくいきません。少し注意してください。任意のポートに移動すると、次のlocalhost:4000
ようなクロムからのエラーメッセージが表示されます。
ただし、エラーメッセージlocalhost:5000
は次のとおりです。
そのため、「少し」作業を構成したようですが、何か問題があります。これを修正する方法を教えてください。
docker - Docker コンテナ間でホスト名を解決できない
別々の構成ファイルで作成された 2 つのコンテナーがあります (アプリケーションの分離のために行われます。各アプリケーションには、バッキング データベースなどの構成ファイルで複数のコンテナーが定義されている場合があります)。
これらのコンテナは、「共通」という名前の外部ネットワークを介してリンクされています。
構成ファイルの例は次のとおりです。
Docker のバージョン:
共通ネットワークは、以下を使用して作成されました。
次に、次を使用してコンテナーを起動します。
私が得るネットワークを調べる:
「rabbitmq」ホスト名を解決できないため、他のコンテナーがクラッシュしました。クラッシュしたコンテナを調べると、それらが同じネットワーク上にあることがわかります。
rabbitmq コンテナーにアクセスしようとしておらず、クラッシュしていないコンテナーにログインすると、ホスト名が解決されません。しかし、rabbitmq コンテナーの IP アドレスには到達可能です。
rabbitmq コンテナーにサインインする場合:
この問題を解決する方法や確認すべき点について何か提案はありますか?
更新 1
- を追加しようとしましたが、問題は解決せず、外部ホスト名「rabbitmq」の
external_links
エントリが追加されません/etc/hosts
docker - Mac 上の Docker --add-hosts オプションは実際にはホストを追加していません
macOS sierra で docker 1.12.3 を実行しています。
サーバーでホスト ファイルにサーバー IP を設定し、コンテナーのホスト名を 127.0.0.1 に解決するように設定する必要があります。
次のコマンドがありました
そのため、ホスト名は myHostName に変更され、hosts ファイルにも追加されました。しかし、それは何もしません!. 私のサーバーでそれを使用しようとしている、または単に ping myHostName resolve を実行しようとしています
ドキュメントからは、うまくいくように見えますが、うまくいきません。私は本当にそれが必要であり、それを解決する方法はこれ以上ありません。
助けてください。