dockerのドライバをlxcに変更
dockerサービスを一旦止めて
service docker.io stop
再起動(lxcドライバ指定)
docker -d -e lxc
端末一個取られるのでscreenとか使っとくべき
OpenvSwitchでブリッジ作成
ovs-vsctl add-br ovs-br0
これだけでOK
ポートとかはコンテナが起動した時に作成する
Dockerコンテナ起動
起動コマンド
run.sh
docker run -i -t \
--net=none \
--lxc-conf='lxc.network.type=veth' \
--lxc-conf='lxc.network.ipv4=192.168.111.50' \
--lxc-conf='lxc.network.flags=up' \
--lxc-conf='lxc.network.name=eth0' \
--lxc-conf='lxc.network.script.up=/home/ovs_ifup/ovs-br0' \
--lxc-conf='lxc.network.script.down=/home/ovs_ifdown/ovs-br0' \
trema_controller:latest /bin/bash`
ovs_ifup/ovs-br0
#!/bin/bash
sudo ifconfig $5 0.0.0.0 up
sudo ovs-vsctl add-port ovs-br0 $5
ovs_ifdown/ovs-br0
#!/bin/bash
sudo ifdown $5
sudo ovs-vsctl del-port ovs-br0 $5
参考
- [CentOS6.6でDockerコンテナに固定IPアドレスを付けホストと同じネットワークで使う(ドライバ変更方法)]
(http://www.skyarch.net/blog/?p=3530) - [OpenvSwitchで仮想ネットワークを作る2(lxcコンテナをOpenvswitchにつなぐ)]
(http://steady-inc.hatenablog.com/entry/2014/05/21/110951)