From 486fcd4e1e6f00424f1016d8e331582523bd2c68 Mon Sep 17 00:00:00 2001 From: Jhon Honce Date: Tue, 29 Oct 2019 17:27:12 -0700 Subject: Update document formatting and packaging code * Refactored code and Makefile to support new docs layout * Removed some old code packaging code * Add Readme.md to document what we're doing Signed-off-by: Jhon Honce Signed-off-by: baude --- docs/source/markdown/podman-generate-systemd.1.md | 96 +++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 docs/source/markdown/podman-generate-systemd.1.md (limited to 'docs/source/markdown/podman-generate-systemd.1.md') diff --git a/docs/source/markdown/podman-generate-systemd.1.md b/docs/source/markdown/podman-generate-systemd.1.md new file mode 100644 index 000000000..b81e68a46 --- /dev/null +++ b/docs/source/markdown/podman-generate-systemd.1.md @@ -0,0 +1,96 @@ +% podman-generate-systemd(1) + +## NAME +podman\-generate\-systemd - Generate systemd unit file(s) for a container. Not supported for the remote client + +## SYNOPSIS +**podman generate systemd** [*options*] *container|pod* + +## DESCRIPTION +**podman generate systemd** will create a systemd unit file that can be used to control a container or pod. +By default, the command will print the content of the unit files to stdout. + +Note that this command is not supported for the remote client. + +## OPTIONS: + +**--files**, **-f** + +Generate files instead of printing to stdout. The generated files are named {container,pod}-{ID,name}.service and will be placed in the current working directory. + +**--name**, **-n** + +Use the name of the container for the start, stop, and description in the unit file + +**--timeout**, **-t**=*value* + +Override the default stop timeout for the container with the given value. + +**--restart-policy**=*policy* +Set the systemd restart policy. The restart-policy must be one of: "no", "on-success", "on-failure", "on-abnormal", +"on-watchdog", "on-abort", or "always". The default policy is *on-failure*. + +## Examples + +Create and print a systemd unit file for a container running nginx with an *always* restart policy and 1-second timeout to stdout. +``` +$ podman create --name nginx nginx:latest +$ podman generate systemd --restart-policy=always -t 1 nginx +# container-de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6.service +# autogenerated by Podman 1.5.2 +# Wed Aug 21 09:46:45 CEST 2019 + +[Unit] +Description=Podman container-de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6.service +Documentation=man:podman-generate-systemd(1) + +[Service] +Restart=always +ExecStart=/usr/bin/podman start de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6 +ExecStop=/usr/bin/podman stop -t 1 de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6 +KillMode=none +Type=forking +PIDFile=/run/user/1000/overlay-containers/de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd3479d225abacdc6/userdata/conmon.pid + +[Install] +WantedBy=multi-user.target +``` + +Create systemd unit files for a pod with two simple alpine containers. Note that these container services cannot be started or stopped individually via `systemctl`; they are managed by the pod service. You can still use `systemctl status` or journalctl to examine them. +``` +$ podman pod create --name systemd-pod +$ podman create --pod systemd-pod alpine top +$ podman create --pod systemd-pod alpine top +$ podman generate systemd --files --name systemd-pod +/home/user/pod-systemd-pod.service +/home/user/container-amazing_chandrasekhar.service +/home/user/container-jolly_shtern.service +$ cat pod-systemd-pod.service +# pod-systemd-pod.service +# autogenerated by Podman 1.5.2 +# Wed Aug 21 09:52:37 CEST 2019 + +[Unit] +Description=Podman pod-systemd-pod.service +Documentation=man:podman-generate-systemd(1) +Requires=container-amazing_chandrasekhar.service container-jolly_shtern.service +Before=container-amazing_chandrasekhar.service container-jolly_shtern.service + +[Service] +Restart=on-failure +ExecStart=/usr/bin/podman start 77a818221650-infra +ExecStop=/usr/bin/podman stop -t 10 77a818221650-infra +KillMode=none +Type=forking +PIDFile=/run/user/1000/overlay-containers/ccfd5c71a088768774ca7bd05888d55cc287698dde06f475c8b02f696a25adcd/userdata/conmon.pid + +[Install] +WantedBy=multi-user.target +``` + +## SEE ALSO +podman(1), podman-container(1), systemctl(1), systemd.unit(5), systemd.service(5) + +## HISTORY +August 2019, Updated with pod support by Valentin Rothberg (rothberg at redhat dot com) +April 2019, Originally compiled by Brent Baude (bbaude at redhat dot com) -- cgit v1.2.3-54-g00ecf