Skip to content

Commit

Permalink
podman documentation (#8331)
Browse files Browse the repository at this point in the history
* podman documentation

* capitalizations
  • Loading branch information
drewbailey authored Jul 1, 2020
1 parent 926d038 commit 0fb0b71
Showing 1 changed file with 30 additions and 8 deletions.
38 changes: 30 additions & 8 deletions website/pages/docs/drivers/external/podman.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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].
Expand All @@ -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:
Expand Down Expand Up @@ -175,14 +181,25 @@ 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
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:
Expand Down Expand Up @@ -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

0 comments on commit 0fb0b71

Please sign in to comment.