2017-04-18 6 views
0

私は日常のツールをいくつか保持するドッキング用コンテナをいくつか作ろうとしています。しかし、私のツールの多くは、データを引き出すために(wifi経由で)デバイスに接続できることに依存しています。ドッキング用コンテナをネットワークデバイスに接続しました

私は研究を行っており、このシナリオをサポートするために何が必要なのかを理解しようとすると、むしろ混乱しています。私は通常、ドッカーのコンテナがクライアントではなくサーバーであることを知っています。しかし、私は反対者を読んでいる。

私はこれを行うためにどのような変更/構成が必要かを理解しようとしています。デフォルトのドッキングウィンドウにより、

答えて

1

docker0インタフェースのようなあなたの物理サーバ上で仮想ネットワークを作成し、それはbridgeモードになっているので、このインタフェースすることができ、ローカルに関連する物理的なシステムインタフェースと、すべてがグローバルと同様であるあなたのeth0経由でインターネットに接続することができネットワークはeth0物理インターフェイスを通過します。

したがって、稼動中のドッカーコンテナ内のインターネットまたはローカルネットワークにアクセスする場合は、物理システム/etc/resolv.confファイルにnameserverを追加する必要があります。これは、ドッカーデーモンの起動時に発生します。物理システムでアクセスしているすべてのものがドッカーコンテナでアクセスできるようになります。

もう1つのことは、ドッカーコンテナの起動時にポートを公開して、eth0インターフェイスの助けを借りて外部のドッカーネットワークからデータを引き出すことができるようにすることです。これらのすべての設定は自動的にiptablesの助けを借りて慎重に扱われます。ドッカーはiptables rulesを追加し、docker0から転送するトラフィックはeth0になり、すべてのサービスが完全に機能します。

docker run -it --name "$container_name" -d -h "$host_name" -p 9080:9080 -p 1522:1522 "$image_name" 

ので、上記の場合には、私のアプリケーションは、ネットワーク内の他のマシン上でホストされているとアプリケーションが完璧に動作しているポート1522oracle dbからデータを引っ張っています。 -p 1522:1522それは同じマシン上の1522ポートに要求を送信し、物理マシンは同じ1522ポート上のネットワークホストマシンにこの要求を送信し、すべての通信が行われます。

これは意味をなさないでしょう。

ありがとうございました!

+0

私はこれをすぐにお試しください! – 165plo

+0

私はネームサーバに混乱しています。 Windowsでこれを設定するためのリンクがありますか?私は、ドッカーコンテナに接続されているホストマシン上の接続を開いたと考えました。これらの双方向性ですか? – 165plo

+0

このリンクでは、 'dns opts'でドッカー設定を取得します。https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon –

関連する問題