問題タブ [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 コンテナー内で yum を実行する方法は?
半独立ネットワーク上にあるマシンがあります。インターネットに接続するにはプロキシを使用する必要があります。ホストで http_proxy 環境変数を設定した後、パブリック yum リポジトリから更新を受信できることを確認しました。
今、自分のマシンの docker コンテナ内で同じことをしようとしていますが、うまくいかないようです。
コンテナーをホスト ネットワーク モードで起動したので、コンテナー内のホストと同じネットワーク スタックを持つ必要があると想定します。したがって、http_proxy を適切に設定すると、コンテナーの内外で同じ yum の動作が得られるはずです。
ホストが yum にアクセスするために http_proxy を必要とする半独立ネットワーク上にある docker コンテナー内で yum を実行することは可能ですか?
docker - Docker オーバーレイ ネットワークでコンテナ ネットワーク名にカスタム名を使用するには?
オーバーレイ ネットワークを設定すると、コンテナ名を使用してコンテナ アドレスを解決できます。それはうまくいきます。
他のカスタム ネットワーク名を使用できますか?
たとえば、コンテナ名が の場合foo
、オーバーレイ ネットワークで によって解決できbar
ますか?
docker - 同じホスト上の異なるネットワークにある Docker コンテナー間の通信
同じホスト内の異なるネットワークにコンテナを作成して通信する可能性はありますか? 現時点では docker-compose を使用していないことに注意してください。
以下は、私が行ったことの要約です。次のコマンドを使用して 2 つのネットワークを作成しました
次に、コマンドを使用して、これらの作成されたネットワークのそれぞれで 2 つのコンテナーを実行しました。
次に、作成したネットワークから各コンテナーの IP アドレスを特定しました。
それらを使用して、同じネットワーク内のコンテナー間で通信できましたが、ネットワークを介したコンテナー間で通信できませんでした。コンテナを同じネットワークに追加するだけで通信が可能になりました。
どうもありがとう...
nginx - Docker - nginx プロキシ - コンテナ間のホストへのアクセス
私はウェブアプリケーションを持っています。
- パブリック Web アプリ (app1)
- API Web アプリ (app2)
このアプリの docker 構成を作成します。コンテナー内の各アプリケーション。このアプリケーションに Web からアクセスするには、nginx で構成されたコンテナで、nginx がすべてのリクエストをプロキシします。
だから私は実行できます - http://app1.dev/とhttp://app2.dev/
しかし、app1 からhttp://app2.dev/にアクセスする必要があります(app1 コンテナーからホスト app2.dev にアクセスします)。
ping (app1 コンテナーから):
app1 コンテナーからhttp://app2.dev/ホストにアクセスするには、他に何を構成する必要がありますか?
Nginx プロキシ設定
Docker 構成
docker-compose ps
docker - docker オーバーレイ ネットワークの作成中に競合状態を回避するにはどうすればよいですか?
使用できるように、consul と docker デーモンが適切に構成された 2 台のマシン HostA と HostB があります。docker network create -d overlay sharednet
ネットワークが存在するかどうかTestScript.sh
を確認し、存在しない場合はネットワークを作成する必要があります。このスクリプトは、HostA と HostB の両方で使用できます。私はまた、基本的に各マシンMasterScript.sh
で呼び出すだけの A のみを持っています。TestScript.sh
を実行するとMasterScript.sh
、驚くべき結果が表示されます。同じ名前の 2 つのネットワークが作成されました!!! これはおそらく docker デーモンの同期の問題です。
予想される動作は、testnw
HostA でネットワークを作成したときに、HostB で次のように表示されることです。
いくつかの制限により、 を変更することはできませんMasterScript.sh
が、私のTestScript.sh
. 問題は、この制限の下でこの競合状態を解決することは可能ですか?
nginx - Nginxでホスト名を介してコンテナのアドレスを動的に検索する
現在、1 つのホストで 2 つのコンテナーを実行しようとしています。1 つはアプリケーション (Ruby on Rails) で、もう 1 つはリバース プロキシとキャッシュとしての Nginx です。アプリは TCP ポート 80 で実行されています。できるようにしたいのは、アプリケーション コンテナーを停止し、それを削除してから、nginx を再起動せずに再度起動することです。問題は、Nginx がコンテナーの IP を 1 回しか検索しないように見えることです。そのため、コンテナーがダウンしてから別のアドレスに戻った場合、Nginx はそこに何もないと文句を言うだけです。
私はいくつかのことを試しました:
resolver 127.0.0.11 valid=5
Docker の DNS を使用するために使用するupstream
ブロックの使用- 変数を使用して、実行時に nginx を解決しようとします。
他にどこを見るべきかわかりませんが、アプリケーションが別の IP アドレスで起動されている場合、これらのオプションはどれも機能しません。これを不可能にするために欠けているものはありますか?
ありがとう。
postgresql - Docker コンテナとホスト LAN を使用した Postgre ネットワーク
ARM デバイスの Docker コンテナで Postgres を実行しています。ネットワーク化されたコンテナ (172.17.0.x) とホストの LAN ネットワーク (192.168.100.x) の両方からの接続を許可したいと考えています。
これは正しいです?:
pg_hba.conf
postgres.conf では、listen_addresses
フィールドに CIDR マスクを使用できますか?
ネットワーク化されたコンテナのホスト名は、コンテナ名と同じになります。Docker DNS サーバーがすべてのコンテナーと外部マシンのホスト名を IP アドレスに解決し、Postgres がこれらの接続を許可すると仮定できますか?
docker - docker remote api を使用して、別のコンテナーのネットワーク名前空間を使用してコンテナーを作成する方法
次のコマンドを実行して、別のコンテナーのネットワーク名前空間を使用してコンテナーを作成できます。
実行後、2 つのコンテナーは同じ IP アドレスを持ちます。docker リモート API または他のクライアント API を使用してそれを行う方法を知りたいです。
私のdockerサーバーとクライアントのバージョンは1.10.3です