]>
Commit | Line | Data |
---|---|---|
7397034b ER |
1 | |
2 | do not require custom build of tini | |
3 | ||
4 | https://github.com/krallin/tini/issues/55#issuecomment-260507562 | |
5 | ||
6 | host# docker run --init --rm -it glen/pld bash -l | |
7 | bash-4.4# /dev/init -- sh -c 'echo "kala" "maja"; cat /proc/$$/cmdline|tr "\0" "\n">cmdline' | |
8 | [WARN tini (39)] Tini is not running as PID 1 and isn't registered as a child subreaper. | |
9 | Zombie processes will not be re-parented to Tini, so zombie reaping won't work. | |
10 | To fix the problem, use the -s option or set the environment variable TINI_SUBREAPER to register Tini as a child subreaper, or run Tini as PID 1. | |
11 | kala maja | |
12 | bash-4.4# cat cmdline | |
13 | sh | |
14 | -c | |
15 | echo "kala" "maja"; cat /proc/$$/cmdline|tr "\0" "\n">cmdline | |
16 | bash-4.4# | |
17 | ||
18 | --- docker-1.13.0-rc1/daemon/oci_linux.go~ 2016-11-11 12:27:33.000000000 +0200 | |
19 | +++ docker-1.13.0-rc1/daemon/oci_linux.go 2016-11-15 02:42:25.660635864 +0200 | |
20 | @@ -593,7 +593,7 @@ | |
21 | if c.HostConfig.PidMode.IsPrivate() { | |
22 | if (c.HostConfig.Init != nil && *c.HostConfig.Init) || | |
23 | (c.HostConfig.Init == nil && daemon.configStore.Init) { | |
24 | - s.Process.Args = append([]string{"/dev/init", c.Path}, c.Args...) | |
25 | + s.Process.Args = append([]string{"/dev/init", "--", c.Path}, c.Args...) | |
26 | var path string | |
27 | if daemon.configStore.InitPath == "" && c.HostConfig.InitPath == "" { | |
28 | path, err = exec.LookPath(DefaultInitBinary) |