肝心の環境構築のことをメモしてなかったので追記。
うちの実験環境はUbuntu 14.04で動いているので、以下はすべてUbuntuでの手順になる。
- 仮想ブリッジ・VLAN関連パッケージの導入
タグVLANを使えるようにvlanパッケージを導入し、カーネルモジュール8021qを読み込む。
また、仮想ブリッジを操作できるようにbridge-utilsを導入する。aptitude install vlan bridge-utils
modprobe 8021q
- Dockerの導入
Ubuntu 14.04の標準パッケージ(docker.io)で使用できるDockerはバージョンが1.0.1と古いため、比較的最近のバージョンを入れるために外部リポジトリを利用する。wget -qO- https://get.docker.io/gpg | sudo apt-key add -
sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
aptitude update
aptitude install lxc-docker
aptitude install vim-syntax-docker
- 今後使いそうなPythonライブラリの導入
Linuxのipコマンドと同様の機能を実現可能なpyroute2パッケージ、PythonでDocker APIを操作できるdocker-pyパッケージを導入する。
なくてもこれからやろうとしていることは実現できるだろうが、Pythonで一元的に操作できた方がいいこともあるかもしれないのでとりあえず利用する方向で検討する。aptitude install python-pip python3-pip
pip install pyroute2
pip install docker-py
- カスタムDockerイメージの作成
ネットワーク構成ができれば、その後はDockerイメージをどのようにカスタムするかを考え続けることになるので、その手順をメモしておく。
ベースはやはりUbuntu 14.04で、初期イメージは公式から引っ張ってきて、その後ローカルでカスタムを繰り返す。docker pull ubuntu:latest
docker run -it -h $NAME --name $NAME ubuntu /bin/bash
—– 必要なパッケージの導入、ファイル・ディレクトリの作成など —–
—– 用が済んだら Ctrl+p Ctrl+q を押してDockerホストに戻る —–docker commit $NAME $NEWIMAGE
参考:
docker-py documentation
http://docker-py.readthedocs.org/en/latest/
pyroute2 netlink library
http://docs.pyroute2.org/index.html
コメントを残す
コメントを投稿するにはログインしてください。