2016-04-28 15 views
0

Dockerでホストマシンの外部インターフェイスにブリッジされたネットワークブリッジを設定しようとしています。Dockerを使用した外部静的IP

私はこのブログはそれをうまく説明して...

https://forums.docker.com/t/public-accessible-ip-in-container-like-bridge-network-in-virtualbox/3668/5

CentOSの7

にドッカー10.11を実行しているよここに私は私がに応じてブリッジを作成し

をドッキングウィンドウのコマンドがありますここのコマンド:

sudo docker network create \ 
    --driver bridge \ 
    --subnet=192.168.33.0/24 \ 
    --gateway=192.168.33.10 \ 
    --opt "com.docker.network.bridge.name"="docker1" \ 
    shared_nw 

これを外部インターフェイスに追加しました

sudo brctl addif docker1 eth1 

コンテナを作成し、ネットワーク上にIPを割り当てました。

私はホスト自体から問題なくpingできますが、ドッカーブリッジを作成しても、ブリッジに割り当てられたIPや、ネットワーク上の別のマシンからアクセスできるコンテナに割り当てられたIPは作成されません。アクセスできない

私は何かが不足しているようです。私はブリッジが、コンテナがホストと同じサブネットを使用できるようにすると考えていたと思いました。

IP addrは

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
    inet 127.0.0.1/8 scope host lo 
     valid_lft forever preferred_lft forever 
    inet6 ::1/128 scope host 
     valid_lft forever preferred_lft forever 
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master docker1 state UP qlen 1000 
    link/ether 00:50:56:aa:41:10 brd ff:ff:ff:ff:ff:ff 
    inet6 fe80::250:56ff:feaa:4110/64 scope link 
     valid_lft forever preferred_lft forever 
3: docker1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 02:42:d9:cc:37:ff brd ff:ff:ff:ff:ff:ff 
    inet 192.168.33.10/24 scope global docker1 
     valid_lft forever preferred_lft forever 
    inet6 fe80::42:d9ff:fecc:37ff/64 scope link 
     valid_lft forever preferred_lft forever 
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:5c:8a:0f:57 brd ff:ff:ff:ff:ff:ff 
    inet 172.17.0.1/16 scope global docker0 
     valid_lft forever preferred_lft forever 

brctlショー

bridge name bridge id  STP enabled interfaces 
docker0  8000.02425c8a0f57 no  
docker1  8000.0242d9cc37ff no  eth1 
+1

ブリッジに 'eth1'を追加する前に、それは192.168.33.0/24ネットワーク上にIPアドレスを持っていますか?ネットワーク上の他のホストからそのアドレスにアクセスできますか?このネットワーク上に他のホストがありますか(具体的には、同じ範囲のIPを使用しています)。 – larsks

+0

いいえ...アドレスがアダプタから削除されたため、起動時スクリプトを削除して、設定または取得しないようにしました。 –

+0

しかし、私はDockerを式から脱して実行するテストを提案していました。これは、Dockerの構成に関する質問と基本的なシステム構成に関する質問であることを確認することができます。多分あなたはそれを設定し、結果を知らせることができますか? – larsks

答えて

0

OK ...私は私が間違って何をやっていた見つけたと思います。どうやら、ドッカーがdocker network createコマンドでブリッジを作成した後は、ネットワークを管理しているものが何であっても、どのディストリビューションの起動スクリプトにもブリッジを追加する必要があります。 Ubuntuでは/ etc/network/interfacesファイルにブリッジを追加する必要があり、CentOSでは/ etc/sysconfig/network-scriptsフォルダに設定ファイルを追加する必要がありました。

ネットワーキングサービスを再起動する(またはリブートする)と、すべて正常に動作するように見えます。

関連する問題