jessie の標準の kernel だと runc が動かない(cgroup の CPU 制御の問題)。また、CRIU を動かすにも足りないので自前で build(4.0.6)。
CRIU は github からとってきて build。buld に必要な物はすべて debian packege で補った。何が必要かは CRIU についてくる Dockerfile を見ればよい。
Ubuntu あたりを使えばもっと楽にできるかもしれない。
| #!/bin/bash | |
| : ${CONFIG:=/boot/config-$(uname -r)} | |
| CONFIG_LIST="CONFIG_EXPERT=y | |
| CONFIG_EMBEDDED=y | |
| CONFIG_CHECKPOINT_RESTORE=y | |
| CONFIG_NAMESPACES=y | |
| CONFIG_UTS_NS=y | |
| CONFIG_IPC_NS=y |
現在、runc コマンドは実行時に chdir(./rootfs) してから exec(argv[0]) している。(古き良き daemon の "/" に移動してからって感じ)
以下の様なディレクトリ構成で /opt/sbin がパスに含まれている場合
root@debian:~# touch original
root@debian:~# touch normal
root@debian:~# ln -snvf original symlink
'symlink' -> 'original'
root@debian:~# ln -nvf original hardlink
'hardlink' => 'original'
root@debian:~# for i in *;do echo [${i}];test -L ${i};echo "test: $?";echo "stat:" $(stat -c %h ${i});done
[hardlink]
test: 1
| [2015/08/21 15:33:25] ThankYouYAPC-g(84:78:ac:f1:e:d0, 117/144Mbps, 1 ch) - RSSI: -55(good) | |
| [2015/08/21 15:33:28] ThankYouYAPC-g(84:78:ac:f1:e:d0, 104/144Mbps, 1 ch) - RSSI: -57(good) | |
| [2015/08/21 15:33:31] ThankYouYAPC-g(84:78:ac:f1:e:d0, 104/144Mbps, 1 ch) - RSSI: -55(good) | |
| [2015/08/21 15:33:34] ThankYouYAPC-g(84:78:ac:f1:e:d0, 130/144Mbps, 1 ch) - RSSI: -56(good) | |
| [2015/08/21 15:33:37] ThankYouYAPC-g(84:78:ac:f1:e:d0, 26/144Mbps, 1 ch) - RSSI: -57(good) | |
| [2015/08/21 15:33:40] ThankYouYAPC-g(84:78:ac:f1:e:d0, 26/144Mbps, 1 ch) - RSSI: -56(good) | |
| [2015/08/21 15:33:43] ThankYouYAPC-g(84:78:ac:f1:e:d0, 39/144Mbps, 1 ch) - RSSI: -59(good) | |
| [2015/08/21 15:33:46] ThankYouYAPC-g(84:78:ac:f1:e:d0, 59/144Mbps, 1 ch) - RSSI: -56(good) | |
| [2015/08/21 15:33:49] ThankYouYAPC-g(84:78:ac:f1:e:d0, 65/144Mbps, 1 ch) - RSSI: -55(good) | |
| [2015/08/21 15:33:52] ThankYouYAPC-g(84:78:ac:f1:e:d0, 65/144Mbps, 1 ch) - RSSI: -55(good) |
tasksel install gnome-desktop --new-install して gnome をインストールapt-get update 後に、apt-get upgrade して apt-get dist-upgradecp -p を cp -ap に変更build 時に変数を渡せるようにするパッチがマージされたので試してみた
マニュアルらしきもの1 - https://gist.github.com/moxiegirl/d845ac58868cb2ec1036
ただし、デフォルトの指定などおかしい。マージされたマニュアルも一部間違えているので注意。
http_proxy などいろいろなソフトウェアが勝手に見る変数などを切り替える場合にも使える模様。
root@lubuntu:~# colordiff -I^[#:] -U1 iptables-save.icc-true.log iptables-save.icc-false.log
--- iptables-save.icc-true.log 2015-10-05 01:31:28.842809672 +0900
+++ iptables-save.icc-false.log 2015-10-05 01:31:03.122741165 +0900
@@ -19,3 +19,2 @@
:DOCKER - [0:0]
--A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o docker0 -j DOCKER