12

Docker-Swarm で Weave ネットワーク プラグインを使用しています。

内部ネットワークからルーティングするデフォルトの Weave ネットワークとは異なる、特定の IP 範囲を持つ docker ネットワークを作成しました。

コンテナーへのアクセスをさらに改善するために、weave を使用して、containername.auto.mycompany.de のような DNS 名をアタッチします。今、私は会社のネットワークからそれらにアクセスしたいと考えています。問題は、weave がローカル ホストからの weave DNS へのアクセスのみを許可することです。

私の群れノードの1つのように、私はできる:

host foobar.auto.mycompany.de 172.17.0.1
Using domain server:
Name: 172.17.0.1
Address: 172.17.0.1#53
Aliases: 

foobar.auto.mycompany.de has address 10.40.13.3
Host foobar.auto.mycompany.de not found: 3(NXDOMAIN)
Host foobar.auto.mycompany.de not found: 3(NXDOMAIN)

しかし、この (10.40.130/24) docker ネットワークのいずれかの IP で weave コンテナーにアクセスできるようにする方法や、ポートを swarm ノードに公開する方法が見つかりません。

私が考えることができるが、好きではない唯一の方法は、次のようなことをすることです:

iptables -t nat -A  DOCKER -p tcp --dport 53 -j DNAT --to-destination 172.17.0.1:53

(これは機能しません、それは単なるアイデアです)

または、weave スクリプトを改ざんして、weave コンテナーの開始時にポートを公開します。

より良い解決策を知っている人はいますか?

4

1 に答える 1