diff options
Diffstat (limited to 'docs/source')
-rw-r--r-- | docs/source/image.rst | 2 | ||||
-rw-r--r-- | docs/source/machine.rst | 1 | ||||
-rw-r--r-- | docs/source/markdown/links/podman-machine-ls.1 | 1 | ||||
-rw-r--r-- | docs/source/markdown/podman-create.1.md | 36 | ||||
-rw-r--r-- | docs/source/markdown/podman-machine-init.1.md | 9 | ||||
-rw-r--r-- | docs/source/markdown/podman-machine-list.1.md | 50 | ||||
-rw-r--r-- | docs/source/markdown/podman-machine-ssh.1.md | 28 | ||||
-rw-r--r-- | docs/source/markdown/podman-machine.1.md | 11 | ||||
-rw-r--r-- | docs/source/markdown/podman-manifest-add.1.md | 16 | ||||
-rw-r--r-- | docs/source/markdown/podman-manifest-push.1.md | 36 | ||||
-rw-r--r-- | docs/source/markdown/podman-run.1.md | 22 | ||||
-rw-r--r-- | docs/source/markdown/podman.1.md | 2 |
12 files changed, 164 insertions, 50 deletions
diff --git a/docs/source/image.rst b/docs/source/image.rst index 2b0ef3d43..0552df929 100644 --- a/docs/source/image.rst +++ b/docs/source/image.rst @@ -40,6 +40,6 @@ Image :doc:`trust <markdown/podman-image-trust.1>` Manage container image trust policy -:doc:`unmount <markdown/podman-unmount.1>` Unmount an image's root filesystem +:doc:`unmount <markdown/podman-image-unmount.1>` Unmount an image's root filesystem :doc:`untag <markdown/podman-untag.1>` Removes one or more names from a locally-stored image diff --git a/docs/source/machine.rst b/docs/source/machine.rst index be9ef1e95..16c042173 100644 --- a/docs/source/machine.rst +++ b/docs/source/machine.rst @@ -3,6 +3,7 @@ Machine :doc:`init <markdown/podman-machine-init.1>` Initialize a new virtual machine +:doc:`list <markdown/podman-machine-list.1>` List virtual machines :doc:`rm <markdown/podman-machine-rm.1>` Remove a virtual machine :doc:`ssh <markdown/podman-machine-ssh.1>` SSH into a virtual machine :doc:`start <markdown/podman-machine-start.1>` Start a virtual machine diff --git a/docs/source/markdown/links/podman-machine-ls.1 b/docs/source/markdown/links/podman-machine-ls.1 new file mode 100644 index 000000000..f6acb7f74 --- /dev/null +++ b/docs/source/markdown/links/podman-machine-ls.1 @@ -0,0 +1 @@ +.so man1/podman-machine-list.1 diff --git a/docs/source/markdown/podman-create.1.md b/docs/source/markdown/podman-create.1.md index 9e7fa4bfd..fcd5f3e3f 100644 --- a/docs/source/markdown/podman-create.1.md +++ b/docs/source/markdown/podman-create.1.md @@ -995,25 +995,21 @@ The following examples are all valid: Without this argument the command will be run as root in the container. -#### **\-\-userns**=*auto*[:OPTIONS] -#### **\-\-userns**=*host* -#### **\-\-userns**=*keep-id* -#### **\-\-userns**=container:container -#### **\-\-userns**=private -#### **\-\-userns**=*ns:my_namespace* - -Set the user namespace mode for the container. It defaults to the **PODMAN_USERNS** environment variable. An empty value means user namespaces are disabled. - - -- `auto`: automatically create a namespace. It is possible to specify other options to `auto`. The supported options are - **size=SIZE** to specify an explicit size for the automatic user namespace. e.g. `--userns=auto:size=8192`. If `size` is not specified, `auto` will guess a size for the user namespace. - **uidmapping=HOST_UID:CONTAINER_UID:SIZE** to force a UID mapping to be present in the user namespace. - **gidmapping=HOST_UID:CONTAINER_UID:SIZE** to force a GID mapping to be present in the user namespace. -- `container`: join the user namespace of the specified container. -- `host`: run in the user namespace of the caller. This is the default if no user namespace options are set. The processes running in the container will have the same privileges on the host as any other process launched by the calling user. -- `keep-id`: creates a user namespace where the current rootless user's UID:GID are mapped to the same values in the container. This option is ignored for containers created by the root user. -- `ns`: run the container in the given existing user namespace. -- `private`: create a new namespace for the container (default) +#### **\-\-userns**=*mode* + +Set the user namespace mode for the container. It defaults to the **PODMAN_USERNS** environment variable. An empty value ("") means user namespaces are disabled unless an explicit mapping is set with the **\-\-uidmap** and **\-\-gidmap** options. + +Valid _mode_ values are: + +- **auto[:**_OPTIONS,..._**]**: automatically create a namespace. It is possible to specify these options to `auto`: + - **gidmapping=**_HOST_GID:CONTAINER_GID:SIZE_: to force a GID mapping to be present in the user namespace. + - **size=**_SIZE_: to specify an explicit size for the automatic user namespace. e.g. `--userns=auto:size=8192`. If `size` is not specified, `auto` will estimate a size for the user namespace. + - **uidmapping=**_HOST_UID:CONTAINER_UID:SIZE_: to force a UID mapping to be present in the user namespace. +- **container:**_id_: join the user namespace of the specified container. +- **host**: run in the user namespace of the caller. The processes running in the container will have the same privileges on the host as any other process launched by the calling user (default). +- **keep-id**: creates a user namespace where the current rootless user's UID:GID are mapped to the same values in the container. This option is ignored for containers created by the root user. +- **ns:**_namespace_: run the container in the given existing user namespace. +- **private**: create a new namespace for the container. This option is incompatible with **\-\-gidmap**, **\-\-uidmap**, **\-\-subuidname** and **\-\-subgidname**. @@ -1035,7 +1031,7 @@ Create a bind mount. If you specify, ` -v /HOST-DIR:/CONTAINER-DIR`, Podman bind mounts `/HOST-DIR` in the host to `/CONTAINER-DIR` in the Podman container. Similarly, `-v SOURCE-VOLUME:/CONTAINER-DIR` will mount the volume in the host to the container. If no such named volume exists, Podman will -create one. The `OPTIONS` are a comma delimited list and can be: <sup>[[1]](#Footnote1)</sup> +create one. The `OPTIONS` are a comma delimited list and can be: <sup>[[1]](#Footnote1)</sup> (Note when using the remote client, the volumes will be mounted from the remote server, not necessarly the client machine.) The _options_ is a comma delimited list and can be: diff --git a/docs/source/markdown/podman-machine-init.1.md b/docs/source/markdown/podman-machine-init.1.md index e2ed1eb10..946f959bf 100644 --- a/docs/source/markdown/podman-machine-init.1.md +++ b/docs/source/markdown/podman-machine-init.1.md @@ -15,6 +15,8 @@ containers do not run on any other OS because containers' core functionality are tied to the Linux kernel. **podman machine init** initializes a new Linux virtual machine where containers are run. +SSH keys are automatically generated to access the VM, and system connections to the root account +and a user account inside the VM are added. ## OPTIONS @@ -28,7 +30,12 @@ Size of the disk for the guest VM in GB. #### **\-\-ignition-path** -Fully qualified path of the ignition file +Fully qualified path of the ignition file. + +If an ignition file is provided, the file +will be copied into the user's CONF_DIR and renamed. Additionally, no SSH keys will +be generated nor will a system connection be made. It is assumed that the user will +do these things manually or handle otherwise. #### **\-\-image-path** diff --git a/docs/source/markdown/podman-machine-list.1.md b/docs/source/markdown/podman-machine-list.1.md new file mode 100644 index 000000000..bd5608258 --- /dev/null +++ b/docs/source/markdown/podman-machine-list.1.md @@ -0,0 +1,50 @@ +% podman-machine-ls(1) + +## NAME +podman\-machine\-list - List virtual machines + +## SYNOPSIS +**podman machine list** [*options*] + +**podman machine ls** [*options*] + +## DESCRIPTION + +List Podman managed virtual machines. + +Podman on macOS requires a virtual machine. This is because containers are Linux - +containers do not run on any other OS because containers' core functionality is +tied to the Linux kernel. + +## OPTIONS + +#### **\-\-format**=*format* + +Format list output using a Go template. + +Valid placeholders for the Go template are listed below: + +| **Placeholder** | **Description** | +| --------------- | ------------------------------- | +| .Name | VM name | +| .Created | Time since VM creation | +| .LastUp | Time since the VM was last run | +| .VMType | VM type | + +#### **\-\-help** + +Print usage statement. + +## EXAMPLES + +``` +$ podman machine list + +$ podman machine ls --format {{.Name}}\t{{.VMType}}\t{{.Created}}\t{{.LastUp}}\n +``` + +## SEE ALSO +podman-machine(1) + +## HISTORY +March 2021, Originally compiled by Ashley Cui <acui@redhat.com> diff --git a/docs/source/markdown/podman-machine-ssh.1.md b/docs/source/markdown/podman-machine-ssh.1.md index fa78f876a..30cbaf4bd 100644 --- a/docs/source/markdown/podman-machine-ssh.1.md +++ b/docs/source/markdown/podman-machine-ssh.1.md @@ -4,36 +4,44 @@ podman\-machine\-ssh - SSH into a virtual machine ## SYNOPSIS -**podman machine ssh** [*options*] [*name*] [*command* [*arg* ...]] +**podman machine ssh** [*name*] [*command* [*arg* ...]] ## DESCRIPTION -SSH into a Podman-managed virtual machine. +SSH into a Podman-managed virtual machine and optionally execute a command +on the virtual machine. Unless using the default virtual machine, the +first argument must be the virtual machine name. The optional command to +execute can then follow. If no command is provided, an interactive session +with the virtual machine is established. -Podman on MacOS requires a virtual machine. This is because containers are Linux - -containers do not run on any other OS because containers' core functionality are -tied to the Linux kernel. ## OPTIONS -#### **\-\-execute**, **-e** - -Execute the given command on the VM - #### **\-\-help** Print usage statement. ## EXAMPLES +To get an interactive session with the default virtual machine: + +``` +$ podman machine ssh +``` + To get an interactive session with a VM called `myvm`: ``` $ podman machine ssh myvm ``` +To run a command on the default virtual machine: +``` +$ podman machine ssh rpm -q podman +``` + To run a command on a VM called `myvm`: ``` -$ podman machine ssh -e myvm -- rpm -q podman +$ podman machine ssh myvm rpm -q podman ``` ## SEE ALSO diff --git a/docs/source/markdown/podman-machine.1.md b/docs/source/markdown/podman-machine.1.md index a5d3b78df..693f42fe3 100644 --- a/docs/source/markdown/podman-machine.1.md +++ b/docs/source/markdown/podman-machine.1.md @@ -14,13 +14,14 @@ podman\-machine - Manage Podman's virtual machine | Command | Man Page | Description | | ------- | ------------------------------------------------------- | --------------------------------- | | init | [podman-machine-init(1)](podman-machine-init.1.md) | Initialize a new virtual machine | -| rm | [podman-machine-rm(1)](podman-machine-rm.1.md)| Remove a virtual machine | -| ssh | [podman-machine-ssh(1)](podman-machine-ssh.1.md) | SSH into a virtual machine | -| start | [podman-machine-start(1)](podman-machine-start.1.md) | Start a virtual machine | -| stop | [podman-machine-stop(1)](podman-machine-stop.1.md) | Stop a virtual machine | +| list | [podman-machine-list(1)](podman-machine-list.1.md) | List virtual machines | +| rm | [podman-machine-rm(1)](podman-machine-rm.1.md) | Remove a virtual machine | +| ssh | [podman-machine-ssh(1)](podman-machine-ssh.1.md) | SSH into a virtual machine | +| start | [podman-machine-start(1)](podman-machine-start.1.md) | Start a virtual machine | +| stop | [podman-machine-stop(1)](podman-machine-stop.1.md) | Stop a virtual machine | ## SEE ALSO -podman(1) +podman(1), podman-machine-init(1), podman-machine-list(1), podman-machine-rm(1), podman-machine-ssh(1), podman-machine-start(1), podman-machine-stop(1) ## HISTORY March 2021, Originally compiled by Ashley Cui <acui@redhat.com> diff --git a/docs/source/markdown/podman-manifest-add.1.md b/docs/source/markdown/podman-manifest-add.1.md index c3c1ea1cf..2727843da 100644 --- a/docs/source/markdown/podman-manifest-add.1.md +++ b/docs/source/markdown/podman-manifest-add.1.md @@ -4,7 +4,7 @@ podman\-manifest\-add - Add an image to a manifest list or image index ## SYNOPSIS -**podman manifest add** [*options*] *listnameorindexname* *imagename* +**podman manifest add** [*options*] *listnameorindexname* [*transport*]:*imagename* ## DESCRIPTION @@ -79,6 +79,20 @@ Specify the variant which the list or index records for the image. This option is typically used to distinguish between multiple entries which share the same architecture value, but which expect different versions of its instruction set. +## Transport + + Multiple transports are supported: + + **docker://**_docker-reference_ _(default)_ + An image in a registry implementing the "Docker Registry HTTP API V2". By default, uses the authorization state in `$XDG_RUNTIME_DIR/containers/auth.json`, which is set using `(podman login)`. If the authorization state is not found there, `$HOME/.docker/config.json` is checked, which is set using `(docker login)`. + + $ podman manifest add mylist:v1.11 docker://quay.io/username/myimage + + **containers-storage:**_oci-reference_ + An image in _oci-reference_ format stored in the local container storage. _oci-reference_ must contain a tag. + + $ podman manifest add mylist:v1.11 containers-storage:quay.io/username/myimage + ## EXAMPLE ``` diff --git a/docs/source/markdown/podman-manifest-push.1.md b/docs/source/markdown/podman-manifest-push.1.md index 4e7118dad..5236dd7c3 100644 --- a/docs/source/markdown/podman-manifest-push.1.md +++ b/docs/source/markdown/podman-manifest-push.1.md @@ -4,7 +4,7 @@ podman\-manifest\-push - Push a manifest list or image index to a registry ## SYNOPSIS -**podman manifest push** [*options*] *listnameorindexname* *transport:details* +**podman manifest push** [*options*] *listnameorindexname* [*destination*] ## DESCRIPTION Pushes a manifest list or image index to a registry. @@ -66,6 +66,40 @@ Sign the pushed images using the GPG key that matches the specified fingerprint. Require HTTPS and verify certificates when talking to container registries. (defaults to true) +## DESTINATION + + The DESTINATION is a location to store container images + The Image "DESTINATION" uses a "transport":"details" format. + If a transport is not given, podman push will attempt to push + to a registry. + + Multiple transports are supported: + + **dir:**_path_ + An existing local directory _path_ storing the manifest, layer tarballs and signatures as individual files. This is a non-standardized format, primarily useful for debugging or noninvasive container inspection. + + $ podman manfiest push mylist:v1.11 dir:/tmp/mylist + + **docker://**_docker-reference_ + An image in a registry implementing the "Docker Registry HTTP API V2". By default, uses the authorization state in `$XDG_RUNTIME_DIR/containers/auth.json`, which is set using `(podman login)`. If the authorization state is not found there, `$HOME/.docker/config.json` is checked, which is set using `(docker login)`. + + $ podman manfiest push mylist:v1.11 docker://registry.example.org/mylist:v1.11 + + **docker-archive:**_path_[**:**_docker-reference_] + An image is stored in the `docker save` formatted file. _docker-reference_ is only used when creating such a file, and it must not contain a digest. + + $ podman manfiest push mylist:v1.11 docker-archive:/tmp/mylist + + **docker-daemon:**_docker-reference_ + An image in _docker-reference_ format stored in the docker daemon internal storage. _docker-reference_ must contain a tag. + + $ podman manfiest push mylist:v1.11 docker-daemon:registry.example.org/mylist:v1.11 + + **oci-archive:**_path_**:**_tag_ + An image _tag_ in a directory compliant with "Open Container Image Layout Specification" at _path_. + + $ podman manifest push mylist:v1.11 oci-archive:/tmp/mylist + ## EXAMPLE ``` diff --git a/docs/source/markdown/podman-run.1.md b/docs/source/markdown/podman-run.1.md index 4019a738e..3fad9bf64 100644 --- a/docs/source/markdown/podman-run.1.md +++ b/docs/source/markdown/podman-run.1.md @@ -744,7 +744,7 @@ If a container is run within a pod, and the pod has an infra-container, the infr #### **\-\-preserve-fds**=*N* Pass down to the process N additional file descriptors (in addition to 0, 1, 2). -The total FDs will be 3+N. +The total FDs will be 3+N. (This option is not available with the remote Podman client) #### **\-\-privileged**=**true**|**false** @@ -1076,19 +1076,21 @@ Without this argument, the command will run as the user specified in the contain When a user namespace is not in use, the UID and GID used within the container and on the host will match. When user namespaces are in use, however, the UID and GID in the container may correspond to another UID and GID on the host. In rootless containers, for example, a user namespace is always used, and root in the container will by default correspond to the UID and GID of the user invoking Podman. -#### **\-\-userns**=**auto**|**host**|**keep-id**|**container:**_id_|**ns:**_namespace_ +#### **\-\-userns**=*mode* -Set the user namespace mode for the container. It defaults to the **PODMAN_USERNS** environment variable. An empty value ("") means user namespaces are disabled unless an explicit mapping is set with they `--uidmapping` and `--gidmapping` options. +Set the user namespace mode for the container. It defaults to the **PODMAN_USERNS** environment variable. An empty value ("") means user namespaces are disabled unless an explicit mapping is set with the **\-\-uidmap** and **\-\-gidmap** options. -- **auto**: automatically create a namespace. It is possible to specify other options to `auto`. The supported options are - **size=SIZE** to specify an explicit size for the automatic user namespace. e.g. `--userns=auto:size=8192`. If `size` is not specified, `auto` will guess a size for the user namespace. - **uidmapping=HOST_UID:CONTAINER_UID:SIZE** to force a UID mapping to be present in the user namespace. - **gidmapping=HOST_UID:CONTAINER_UID:SIZE** to force a GID mapping to be present in the user namespace. +Valid _mode_ values are: + +- **auto[:**_OPTIONS,..._**]**: automatically create a namespace. It is possible to specify these options to `auto`: + - **gidmapping=**_HOST_GID:CONTAINER_GID:SIZE_: to force a GID mapping to be present in the user namespace. + - **size=**_SIZE_: to specify an explicit size for the automatic user namespace. e.g. `--userns=auto:size=8192`. If `size` is not specified, `auto` will estimate a size for the user namespace. + - **uidmapping=**_HOST_UID:CONTAINER_UID:SIZE_: to force a UID mapping to be present in the user namespace. +- **container:**_id_: join the user namespace of the specified container. - **host**: run in the user namespace of the caller. The processes running in the container will have the same privileges on the host as any other process launched by the calling user (default). - **keep-id**: creates a user namespace where the current rootless user's UID:GID are mapped to the same values in the container. This option is ignored for containers created by the root user. -- **ns**: run the container in the given existing user namespace. +- **ns:**_namespace_: run the container in the given existing user namespace. - **private**: create a new namespace for the container. -- **container**: join the user namespace of the specified container. This option is incompatible with **\-\-gidmap**, **\-\-uidmap**, **\-\-subuidname** and **\-\-subgidname**. @@ -1110,7 +1112,7 @@ Create a bind mount. If you specify _/HOST-DIR_:_/CONTAINER-DIR_, Podman bind mounts _host-dir_ in the host to _CONTAINER-DIR_ in the Podman container. Similarly, _SOURCE-VOLUME_:_/CONTAINER-DIR_ will mount the volume in the host to the container. If no such named volume exists, Podman will -create one. +create one. (Note when using the remote client, the volumes will be mounted from the remote server, not necessarly the client machine.) The _options_ is a comma delimited list and can be: <sup>[[1]](#Footnote1)</sup> diff --git a/docs/source/markdown/podman.1.md b/docs/source/markdown/podman.1.md index 7a6a51c39..5755b45ac 100644 --- a/docs/source/markdown/podman.1.md +++ b/docs/source/markdown/podman.1.md @@ -148,7 +148,7 @@ specify additional options via the `--storage-opt` flag. #### **\-\-storage-opt**=*value* -Storage driver option, Default storage driver options are configured in /etc/containers/storage.conf (`$HOME/.config/containers/storage.conf` in rootless mode). The `STORAGE_OPTS` environment variable overrides the default. The --storage-opt specified options overrides all. +Storage driver option, Default storage driver options are configured in /etc/containers/storage.conf (`$HOME/.config/containers/storage.conf` in rootless mode). The `STORAGE_OPTS` environment variable overrides the default. The --storage-opt specified options overrides all. If you specify --storage-opt="", no storage options will be used. #### **\-\-syslog**=*true|false* |