Skip to content

Instantly share code, notes, and snippets.

@mapk0y
mapk0y / check-config-for-criu.sh
Created June 23, 2015 08:59
Check Kernel Config Script for CRIU
#!/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
@mapk0y
mapk0y / runc-criiu-memo.mkd
Last active October 22, 2015 06:24
runC で CRIU をやってみる

準備

OS の準備

jessie の標準の kernel だと runc が動かない(cgroup の CPU 制御の問題)。また、CRIU を動かすにも足りないので自前で build(4.0.6)。

CRIU は github からとってきて build。buld に必要な物はすべて debian packege で補った。何が必要かは CRIU についてくる Dockerfile を見ればよい。

Ubuntu あたりを使えばもっと楽にできるかもしれない。

@mapk0y
mapk0y / 00runc-path.mkd
Last active August 29, 2015 14:23
runc/#28 によって発生している現象

#28

前提

現在、runc コマンドは実行時に chdir(./rootfs) してから exec(argv[0]) している。(古き良き daemon の "/" に移動してからって感じ)

何が起こっているか

以下の様なディレクトリ構成で /opt/sbin がパスに含まれている場合

@mapk0y
mapk0y / memo.mkd
Created July 9, 2015 09:45
symlink と hardlink
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
@mapk0y
mapk0y / wlan.log
Created August 21, 2015 16:33
YAPC::Asia 2015 1日目15時半頃の国際会議場での無線LAN
[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)
@mapk0y
mapk0y / memo.mkd
Last active August 29, 2015 14:27
sid マシン起動時に docker0 へ IPAddress が付与されないお話 (2015/08/23)

経緯

確認環境

  1. vagrant 上で jessie をインストール
  2. tasksel install gnome-desktop --new-install して gnome をインストール
  3. build-essential や linux-headers あたりをインストール
  4. source.list を変更し、apt-get update 後に、apt-get upgrade して apt-get dist-upgrade
  5. 4 で initramfs-tools のスクリプトでコケるが/usr/share/initramfs-tools/hooks/udev 内での cp -pcp -ap に変更
@mapk0y
mapk0y / memo.mkd
Last active September 17, 2015 15:50
docker の build-arg オプション
@mapk0y
mapk0y / 01memo.mkd
Last active October 4, 2015 17:04
docker の --icc で制御される iptables

--icc=true (デフォルト)と --icc=false

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
@mapk0y
mapk0y / docker_network_inspect_bridge.mkd
Last active November 24, 2015 11:45
docker network から bridge にぶら下がっているコンテナ名一覧を取る方法

条件

  • jq が必要
  • docker 1.9.0

コマンド

$ docker network inspect bridge \
  | jq -r '.[].Containers | keys | @sh' \
  | xargs -r docker inspect \
 | jq -r '.[].Name | ltrimstr("/")'