From 194c4149282efd88ff0a989fd5b4ce086764b0c1 Mon Sep 17 00:00:00 2001 From: Drew Bailey <2614075+drewbailey@users.noreply.github.com> Date: Wed, 1 Jul 2020 16:41:39 -0400 Subject: [PATCH] podman documentation (#8331) * podman documentation * capitalizations --- .../pages/docs/drivers/external/podman.mdx | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/website/pages/docs/drivers/external/podman.mdx b/website/pages/docs/drivers/external/podman.mdx index 1965a4ffb..00cc04766 100644 --- a/website/pages/docs/drivers/external/podman.mdx +++ b/website/pages/docs/drivers/external/podman.mdx @@ -11,9 +11,9 @@ description: >- Name: `podman` -Homepage: https://github.com/pascomnet/nomad-driver-podman +Homepage: https://github.com/hashicorp/nomad-driver-podman -The podman task driver plugin for Nomad uses the [Pod Manager (podman)][podman] +The Podman task driver plugin for Nomad uses the [Pod Manager (podman)][podman] daemonless container runtime for executing Nomad tasks. Podman supports OCI containers and its command line tool is meant to be [a drop-in replacement for Docker's][podman-cli]. @@ -25,12 +25,18 @@ See the project's [homepage][homepage] for details. - Linux host with [`podman`][podman] installed. - [`nomad-driver-podman`][releases] binary in Nomad's [`plugin_dir`][plugin_dir]. -You need a varlink enabled podman binary and a system socket activation unit, see https://podman.io/blogs/2019/01/16/podman-varlink.html. +You need a varlink enabled Podman binary and a system socket activation unit, see https://podman.io/blogs/2019/01/16/podman-varlink.html. -Since the Nomad agent, nomad-driver-podman plugin binary, and podman will -reside on the same host, skip the ssh aspects of the podman varlink +Since the Nomad agent, nomad-driver-podman plugin binary, and Podman will +reside on the same host, skip the ssh aspects of the Podman varlink documentation above. +## Known Limitations + +The Podman task driver is under active development. It currently does not support [stderr logging][stderr-logging] and [devices][devices]. +Podman recently released [Podman v2](https://podman.io/blogs/2020/06/29/podman-v2-announce.html). The task driver currently supports v1 +and will be working on supporting v2 in upcoming releases. + ## Task Configuration Due to Podman's similarity to Docker, the example job created by [`nomad init -short`][nomad-init] is easily adapted to use Podman instead: @@ -175,6 +181,17 @@ config { } ``` +- `network_mode` - Set the [network mode][network-mode] for the container. This will be + overridden by nomad if a group network is created and passed in by Nomad. + + - `bridge` - (default for rootful) create a network stack on the default bridge + - `none` - no networking + - `container:id` - reuse another container's network stack + - `host` - use the Podman host network stack. Note: the host mode gives the container + full access to local system services such as D-bus and is therefore considered insecure. + - `slirp4netns` - use `slirp4netns` to create a user network stack. This is the default for + rootless containers. Podman currently does not support this option for rootful containers ([issue][slirp-issue]) + ## Networking Podman supports forwarding and exposing ports like Docker. See [Docker Driver @@ -182,7 +199,7 @@ configuration][docker-ports] for details. ## Plugin Options -The podman plugin has options which may be customized in the agent's +The Podman plugin has options which may be customized in the agent's configuration file. - `volumes` stanza: @@ -234,11 +251,16 @@ plugin "nomad-driver-podman" { ``` [docker-ports]: /docs/drivers/docker#forwarding-and-exposing-ports -[homepage]: https://github.com/pascomnet/nomad-driver-podman +[homepage]: https://github.com/hashicorp/nomad-driver-podman [memory-value]: /docs/job-specification/resources#memory [nomad-init]: /docs/commands/job/init [plugin_dir]: /docs/configuration#plugin_dir [podman]: https://podman.io/ [podman-cli]: https://podman.io/whatis.html -[releases]: https://github.com/pascomnet/nomad-driver-podman/releases +[releases]: https://releases.hashicorp.com/nomad-driver-podman [task]: /docs/job-specification/task#user +[network-mode]: http://docs.podman.io/en/latest/markdown/podman-run.1.html#options +[slirp-issue]: https://github.com/containers/libpod/issues/6097 +[stderr-logging]: https://github.com/hashicorp/nomad-driver-podman/issues/4 +[devices]: https://github.com/hashicorp/nomad-driver-podman/issues/41 +