Add init process for zombie fighting
This adds a small C binary for fighting zombies. It is mounted under
`/dev/init` and is prepended to the args specified by the user. You
enable it via a daemon flag, `dockerd --init`, as it is disable by
default for backwards compat.
You can also override the daemon option or specify this on a per
container basis with `docker run --init=true|false`.
You can test this by running a process like this as the pid 1 in a
container and see the extra zombie that appears in the container as it
is running.
```c
int main(int argc, char ** argv) {
pid_t pid = fork();
if (pid == 0) {
pid = fork();
if (pid == 0) {
exit(0);
}
sleep(3);
exit(0);
}
printf("got pid %d and exited\n", pid);
sleep(20);
}
```
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
committed by
Tibor Vass
parent
71e220fc11
commit
d72deed554
@@ -34,6 +34,7 @@ dockerd - Enable daemon mode
|
||||
[**-H**|**--host**[=*[]*]]
|
||||
[**--help**]
|
||||
[**--icc**[=*true*]]
|
||||
[**--init**[=*false*]]
|
||||
[**--insecure-registry**[=*[]*]]
|
||||
[**--ip**[=*0.0.0.0*]]
|
||||
[**--ip-forward**[=*true*]]
|
||||
@@ -166,6 +167,9 @@ unix://[/path/to/socket] to use.
|
||||
**--icc**=*true*|*false*
|
||||
Allow unrestricted inter\-container and Docker daemon host communication. If disabled, containers can still be linked together using the **--link** option (see **docker-run(1)**). Default is true.
|
||||
|
||||
**--init**
|
||||
Run an init process inside containers for signal forwarding and process reaping.
|
||||
|
||||
**--insecure-registry**=[]
|
||||
Enable insecure registry communication, i.e., enable un-encrypted and/or untrusted communication.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user