Skip to content

Commit

Permalink
Add more documentation on conmon
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel J Walsh <[email protected]>
  • Loading branch information
rhatdan committed Apr 27, 2021
1 parent abda796 commit 63fd3a3
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 5 deletions.
2 changes: 1 addition & 1 deletion docs/source/markdown/podman-container-cleanup.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ After cleanup, remove the image entirely.
`podman container cleanup --latest`

## SEE ALSO
podman(1), podman-container(1)
**podman**(1), **podman-container**(1), **conmon**(8).

## HISTORY
Jun 2018, Originally compiled by Dan Walsh <[email protected]>
16 changes: 15 additions & 1 deletion docs/source/markdown/podman-create.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -1412,6 +1412,20 @@ $ podman start --attach ctr
b
```

## CONMON

When Podman starts a container it actually executes the conmon program, which
then executes the OCI Runtime. Conmon is the container monitor. It is a small
program whose job is to watch the primary process of the container, and if the
container dies, save the exit code. It also holds open the tty of the
container, so that it can be attached to later. This is what allows Podman to
run in detached mode (backgrounded), so Podman can exit but conmon continues to
run. Each container has their own instance of conmon. Conmon waits for the
container to exit, gathers and saves the exit code, and then launches a Podman
process to complete the container cleanup, by shutting down the network and
storage. For more information on conmon, please reference the conmon(8) man
page.

## FILES

**/etc/subuid**
Expand All @@ -1421,7 +1435,7 @@ NOTE: Use the environment variable `TMPDIR` to change the temporary storage loca

## SEE ALSO
**podman**(1), **podman-secret**(1), **podman-save**(1), **podman-ps**(1), **podman-attach**(1), **podman-pod-create**(1), **podman-port**(1), **podman-start*(1), **podman-kill**(1), **podman-stop**(1),
**podman-generate-systemd**(1) **podman-rm**(1), **subgid**(5), **subuid**(5), **containers.conf**(5), **systemd.unit**(5), **setsebool**(8), **slirp4netns**(1), **fuse-overlayfs**(1), **proc**(5)**.
**podman-generate-systemd**(1) **podman-rm**(1), **subgid**(5), **subuid**(5), **containers.conf**(5), **systemd.unit**(5), **setsebool**(8), **slirp4netns**(1), **fuse-overlayfs**(1), **proc**(5), **conmon**(8).

## HISTORY
October 2017, converted from Docker documentation to Podman by Dan Walsh for Podman `<[email protected]>`
Expand Down
2 changes: 1 addition & 1 deletion docs/source/markdown/podman-generate-systemd.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS
bb310a0780ae docker.io/library/alpine:latest /bin/sh 3 minutes ago Created busy_moser
```
## SEE ALSO
[podman(1)](podman.1.md), [podman-container(1)](podman-container.1.md), systemctl(1), systemd.unit(5), systemd.service(5)
[**podman**(1)](podman.1.md), [**podman-container**(1)](podman-container.1.md), **systemctl**(1), **systemd.unit**(5), **systemd.service**(5), **conmon**(8).

## HISTORY
April 2020, Updated details and added usecase to use generated .service files as root and non-root, by Sujil Shah (sushah at redhat dot com)
Expand Down
16 changes: 15 additions & 1 deletion docs/source/markdown/podman-run.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -1763,6 +1763,20 @@ $ podman run --env ENV*****=b alpine printenv ENV*****
b
```

## CONMON

When Podman starts a container it actually executes the conmon program, which
then executes the OCI Runtime. Conmon is the container monitor. It is a small
program whose job is to watch the primary process of the container, and if the
container dies, save the exit code. It also holds open the tty of the
container, so that it can be attached to later. This is what allows Podman to
run in detached mode (backgrounded), so Podman can exit but conmon continues to
run. Each container has their own instance of conmon. Conmon waits for the
container to exit, gathers and saves the exit code, and then launches a Podman
process to complete the container cleanup, by shutting down the network and
storage. For more information on conmon, please reference the conmon(8) man
page.

## FILES

**/etc/subuid**
Expand All @@ -1773,7 +1787,7 @@ NOTE: Use the environment variable `TMPDIR` to change the temporary storage loca

## SEE ALSO
**podman**(1), **podman-save**(1), **podman-ps**(1), **podman-attach**(1), **podman-pod-create**(1), **podman-port**(1), **podman-start**(1), **podman-kill**(1), **podman-stop**(1),
**podman-generate-systemd**(1) **podman-rm**(1), **subgid**(5), **subuid**(5), **containers.conf**(5), **systemd.unit**(5), **setsebool**(8), **slirp4netns**(1), **fuse-overlayfs**(1), **proc**(5)**.
**podman-generate-systemd**(1) **podman-rm**(1), **subgid**(5), **subuid**(5), **containers.conf**(5), **systemd.unit**(5), **setsebool**(8), **slirp4netns**(1), **fuse-overlayfs**(1), **proc**(5), **conmon**(8).

## HISTORY
September 2018, updated by Kunal Kushwaha `<[email protected]>`
Expand Down
2 changes: 1 addition & 1 deletion docs/source/markdown/podman.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ The Network File System (NFS) and other distributed file systems (for example: L
For more information, please refer to the [Podman Troubleshooting Page](https://github.com/containers/podman/blob/master/troubleshooting.md).

## SEE ALSO
`containers-mounts.conf(5)`, `containers-registries.conf(5)`, `containers-storage.conf(5)`, `buildah(1)`, `containers.conf(5)`, `oci-hooks(5)`, `containers-policy.json(5)`, `crun(8)`, `runc(8)`, `subuid(5)`, `subgid(5)`, `slirp4netns(1)`
**containers-mounts.conf**(5), **containers-registries.conf**(5), **containers-storage.conf**(5), **buildah**(1), **containers.conf**(5), **oci-hooks**(5), **containers-policy.json**(5), **crun**(8), **runc**(8), **subuid**(5), **subgid**(5), **slirp4netns**(1), **conmon**(8).

## HISTORY
Dec 2016, Originally compiled by Dan Walsh <[email protected]>

0 comments on commit 63fd3a3

Please sign in to comment.