簡易ネットワーク構築のためのnetns・Dockerコマンドのまとめ(3)。

肝心の環境構築のことをメモしてなかったので追記。
うちの実験環境は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


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す