Dockerでホストマシンの外部インターフェイスにブリッジされたネットワークブリッジを設定しようとしています。Dockerを使用した外部静的IP
私はこのブログはそれをうまく説明して...
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
ブリッジに 'eth1'を追加する前に、それは192.168.33.0/24ネットワーク上にIPアドレスを持っていますか?ネットワーク上の他のホストからそのアドレスにアクセスできますか?このネットワーク上に他のホストがありますか(具体的には、同じ範囲のIPを使用しています)。 – larsks
いいえ...アドレスがアダプタから削除されたため、起動時スクリプトを削除して、設定または取得しないようにしました。 –
しかし、私はDockerを式から脱して実行するテストを提案していました。これは、Dockerの構成に関する質問と基本的なシステム構成に関する質問であることを確認することができます。多分あなたはそれを設定し、結果を知らせることができますか? – larsks