0

Docker での仮想ブリッジのカスタマイズについては、 Docker Networking#docker0を参照しています。docker0

私のifconfigショーはこれです:

docker0   Link encap:Ethernet  HWaddr d6:0d:76:37:ee:04  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::d40d:76ff:fe37:ee04/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

eth0      Link encap:Ethernet  HWaddr 08:00:27:51:e4:40  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe51:e440/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:947 errors:0 dropped:0 overruns:0 frame:0
          TX packets:618 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:86885 (86.8 KB)  TX bytes:71855 (71.8 KB)

インターフェイスに範囲10.0.2.15/24を与えたい。docker0

docker0:コンテナと同じIP範囲でカスタマイズするとeth0、コンテナは同じ範囲からIPを取得する必要があると想定しています(間違っている場合は修正してください)。

このために、ファイルに追加--fixed-cidr=10.0.2.15/24してみました。/etc/default/dockerしかし、それは今働いています。

それを達成する方法はありますか?

また、間違った方法に従っている場合は、適切な方法でそれを達成する方法を教えてください。

4

3 に答える 3

0

docker0 インターフェイスの ip-range を変更する代わりに、外部から何を利用できるようにするかを考える必要があります。

特定のポートをアプリケーションにリンクして外部から利用できるようにしたい場合は、-p フラグを見てください。

docker run -p IP:host_port:container_port

ネットワーク構成のドキュメントをご覧くださいhttp://docs.docker.com/articles/networking/

このドキュメントでは、docker0 インターフェイスの ip-range を変更する方法についても説明しています。しかし、私はあなたが望むものを達成するための他のより良い、より簡単な方法があると思います.

(ちなみに、あなたが欲しいものを正確に説明できますか?)

于 2015-07-13T15:30:28.237 に答える
0

あなたがやろうとしているのは、ネットワークの自殺との境界です... docker で外部 NIC-IP (eth0) を内部ブリッジング インターフェイス (docker0) に割り当てることができる場合、システムには同じルートで動作する 2 つのインターフェイスがありますが、ルートは異なりますインターフェイスの背後にあるネットワーク。ある都市で働いている郵便配達員のことを考えてみてください。ある天才がすべての通りに同じ名前を付け、すべての番号を 1 から数え始めました。彼は郵便物を配達できますか? ;)

あなたが達成したいと思うのは、「外部」ネットワークから、docker コンテナーが実行されているものに接続できるようにすることです。その場合、-command に追加
-p port_on_host:port_inside_container
するだけ
docker runで、docker-content がホスト IP 経由で外部から利用できるようになります (ファイアウォールが適切に設定されている場合)。

乾杯D

于 2015-07-15T14:02:53.493 に答える