LoginSignup
12
11

More than 5 years have passed since last update.

Docker で標準と違うブリッジ・ネットワークを使う

Last updated at Posted at 2016-04-07

やってみたことを淡々と。

環境

  • Docker 1.9.1
  • Ubuntu 15.04

参考

実行

作成

作成の基本形はこんな感じ。

$ docker network create \
    --driver=bridge \
    --subnet=172.30.0.0/16 \
    --gateway=172.30.0.8 \
    mynet
de40d30a63ab9b17df4c4f8ad1c93d176b56f44afe314635f0f96f44afe314635b07fb602b07fb602de40d30a63ab9b17f3d3

実行するとネットワークの ID が出力される。

補足

  • --subnet を省略すると Docker 標準ブリッジの 172.17.0.0/16 を起点に 172.18.0.0/16 , 172.19.0.0/16 と、繰り上げた値が自動的に設定される。
  • --gateway を省略するとネットワーク範囲のうち、一番値の小さなものが自動的に設定される。
  • 上では使っていないが -o com.docker.network.bridge.name=bridgename とすることで、ブリッジの名前を設定することができる。
    • 標準では br-XXXXXXXXXXXX 形式の名前が付く。この 12桁の X は ネットワーク ID の先頭部分が入る。

確認

Docker が管理するネットワークを一覧表示するには docker network ls を使う。

$ docker network ls     
NETWORK ID          NAME                DRIVER
f3c95be71222        none                null                
109db1b78591        host                host                
de40d30a63ab        mynet               bridge              
795b9950cbed        bridge              bridge       

ip コマンドで確認するとこんな感じ。

$ ip route
172.17.0.0/16 dev docker0  proto kernel  scope link  src 172.17.0.1 
172.30.0.0/16 dev br-de40d30a63ab  proto kernel  scope link  src 172.30.0.1

作成時に設定したサブネットの値に br-XXXXXXXXXXXX 形式の名前でブリッジが登録されている。

ネットワークの詳細は docker network inspect mynet で確認できる。

$ docker network inspect mynet 
[
    {
        "Name": "mynet",
        "Id": "de40d30a63ab9b17df4c4f8ad1c93d176b56f44afe314635f0f96f44afe314635b07fb602b07fb602de40d30a63ab9b17f3d3",
...

使用

使用するには docker run 時に --net オプションで作成したネットワークを指定する。

$ docker run --net=mynet ubuntu

ip route で確認すると、作成したネットワークの範囲にコンテナが収まっていることがわかる。

$ docker run --net=mynet ubuntu ip route
default via 172.30.0.8 dev eth0 
172.30.0.0/16 dev eth0  proto kernel  scope link  src 172.30.0.1 

削除

削除は docker network rm

$ docker network rm mynet

ちなみに使用中のネットワークを削除しようとするとエラーが出る。

$ docker network rm mynet 
Error response from daemon: network mynet has active endpoints
12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11