docker stop、今まで正常にstopしてるもんだと思ってたけど違うらしい(docker stopは、デフォルトでは10秒経過するとプロセスにkillシグナルを送る)

という事で追加してみました(※docker 1.13以降docker-compose.ymlはv2.2以降のフォーマットで利用可能です)

1
2
// dockerは --init オプションをつける
$ docker run --init

docker-composeはこんな感じinit:trueをつけます

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// --initなし(PID=1は/bin/bashになっている)
docker exec -it -u root -w /apps base-container bash
root@base-container:/apps# ps ax
PID TTY STAT TIME COMMAND
1 pts/0 Ss+ 0:00 /bin/bash /bootstrap.sh
7 pts/0 S+ 0:00 tail -f /dev/null
8 pts/1 Ss 0:00 bash
13 pts/1 R+ 0:00 ps ax

// --initあり(PID=1は/dev/initになっている)
docker exec -it -u root -w /apps base-container bash
root@base-container:/apps# ps ax
PID TTY STAT TIME COMMAND
1 pts/0 Ss 0:00 /dev/init -- /bootstrap.sh
6 pts/0 S+ 0:00 /bin/bash /bootstrap.sh
8 pts/0 S+ 0:00 tail -f /dev/null
9 pts/1 Ss 0:00 bash
14 pts/1 R+ 0:00 ps ax

参考リンク