runC がリリースされましたが、runc.ioの手順では動かなかったので動かすところまでメモしておく。
2015/06/23時点で書いた記事です。
環境
- Ubuntu 15.04
- golang 1.4.2
runC のインストール
前もって Go をインストールしておく必要がありますが、省略します。 インストールは github.com/opencontainers/runc のREADMEに書いてある通りでいけます。
git clone https://github.com/opencontainers/runc $GOPATH/src/github.com/opencontainers/runc
cd $GOPATH/src/github.com/opencontainers/runc
make
sudo make install
Docker コンテナを export して実行する
とりあえず、 alpine でやると下記のような感じ。
docker pull alpine
docker run --name alpine alpine /bin/sh
mkdir alpine
cd alpine
mkdir rootfs
docker export alpine | tar xf - -C rootfs
runc spec > container.json
sudo runc
nginx のコンテナを動かそうと思ったけど、ネットワーク周りの spec がないし、実装もなかったので、追加してみているが、うまく動いていないので何か間違っていそう。
https://github.com/higebu/runc/tree/add-networks
runc の specs がない問題は、 GitHub の Issue になっている。