diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/podman-cp.1.md | 3 | ||||
-rw-r--r-- | docs/podman-create.1.md | 69 | ||||
-rw-r--r-- | docs/podman-run.1.md | 69 | ||||
-rw-r--r-- | docs/podman-varlink.1.md | 19 | ||||
-rw-r--r-- | docs/tutorials/podman_tutorial.md | 111 |
5 files changed, 96 insertions, 175 deletions
diff --git a/docs/podman-cp.1.md b/docs/podman-cp.1.md index 44612003d..406dd51df 100644 --- a/docs/podman-cp.1.md +++ b/docs/podman-cp.1.md @@ -8,6 +8,7 @@ podman\-cp - Copy files/folders between a container and the local filesystem ## DESCRIPTION Copies the contents of **src_path** to the **dest_path**. You can copy from the containers's filesystem to the local machine or the reverse, from the local filesystem to the container. +If - is specified for either the SRC_PATH or DEST_PATH, you can also stream a tar archive from STDIN or to STDOUT. The CONTAINER can be a running or stopped container. The **src_path** or **dest_path** can be a file or directory. @@ -107,5 +108,7 @@ podman cp containerID:/home/myuser/. /home/myuser/ podman cp --extract /home/myuser/myfiles.tar.gz containerID:/myfiles +podman cp - containerID:/myfiles.tar.gz < myfiles.tar.gz + ## SEE ALSO podman(1), podman-mount(1), podman-umount(1) diff --git a/docs/podman-create.1.md b/docs/podman-create.1.md index 851f5cf3d..cf36106e8 100644 --- a/docs/podman-create.1.md +++ b/docs/podman-create.1.md @@ -244,26 +244,6 @@ inside of the container. Read in a line delimited file of environment variables -**--http-proxy**=*true*|*false* - -By default proxy environment variables are passed into the container if set -for the podman process. This can be disabled by setting the `--http-proxy` -option to `false`. The environment variables passed in include `http_proxy`, -`https_proxy`, `ftp_proxy`, `no_proxy`, and also the upper case versions of -those. This option is only needed when the host system must use a proxy but -the container should not use any proxy. Proxy environment variables specified -for the container in any other way will override the values that would have -been passed thru from the host. (Other ways to specify the proxy for the -container include passing the values with the `--env` flag, or hardcoding the -proxy environment at container build time.) - -For example, to disable passing these environment variables from host to -container: - -`--http-proxy=false` - -Defaults to `true` - **--expose**=[] Expose a port, or a range of ports (e.g. --expose=3300-3310) to set up port redirection @@ -281,20 +261,27 @@ Add additional groups to run as **--healthcheck**="" -Set or alter a healthcheck for a container. The value must be of the format of: +Set or alter a healthcheck command for a container. The command is a command to be executed inside your +container that determines your container health. The command is required for other healthcheck options +to be applied. A value of `none` disables existing healthchecks. + +**--healthcheck-interval**="" + +Set an interval for the healthchecks (a value of `disable` results in no automatic timer setup) (default "30s") - `[OPTIONS] CMD command` +**--healthcheck-retries=** - where options can be any of the follow: - * --interval=DURATION (default: 30s) - * --timeout=DURATION (default: 30s) - * --start-period=DURATION (default: 0s) - * --retries=N (default: 3) +The number of retries allowed before a healthcheck is considered to be unhealthy. The default value is `3`. -Note: options are *not* required. +**--healthcheck-start-period**="" -The command is a command to be executed inside your container that determines your container health. The -command is required. +The initialization time needed for a container to bootstrap. The value can be expressed in time format like +`2m3s`. The default value is `0s` + +**--healthcheck-timeout**="" + +The maximum time allowed to complete the healthcheck before an interval is considered failed. Like start-period, the +value can be expressed in a time format such as `1m22s`. The default value is `30s`. **--hostname**="" @@ -306,6 +293,26 @@ Sets the container host name that is available inside the container. Print usage statement +**--http-proxy**=*true*|*false* + +By default proxy environment variables are passed into the container if set +for the podman process. This can be disabled by setting the `--http-proxy` +option to `false`. The environment variables passed in include `http_proxy`, +`https_proxy`, `ftp_proxy`, `no_proxy`, and also the upper case versions of +those. This option is only needed when the host system must use a proxy but +the container should not use any proxy. Proxy environment variables specified +for the container in any other way will override the values that would have +been passed thru from the host. (Other ways to specify the proxy for the +container include passing the values with the `--env` flag, or hardcoding the +proxy environment at container build time.) + +For example, to disable passing these environment variables from host to +container: + +`--http-proxy=false` + +Defaults to `true` + **--image-volume**, **builtin-volume**=*bind*|*tmpfs*|*ignore* Tells podman how to handle the builtin image volumes. The options are: 'bind', 'tmpfs', or 'ignore' (default 'bind'). @@ -585,7 +592,7 @@ Automatically remove the container when it exits. The default is *false*. Note that the container will not be removed when it could not be created or started successfully. This allows the user to inspect the container after -failure. The `--rm` flag is incompatible with the `-d` flag. +failure. **--rootfs** diff --git a/docs/podman-run.1.md b/docs/podman-run.1.md index db90ce50e..1840e0f0b 100644 --- a/docs/podman-run.1.md +++ b/docs/podman-run.1.md @@ -251,26 +251,6 @@ inside of the container. Read in a line delimited file of environment variables -**--http-proxy**=*true*|*false* - -By default proxy environment variables are passed into the container if set -for the podman process. This can be disabled by setting the `--http-proxy` -option to `false`. The environment variables passed in include `http_proxy`, -`https_proxy`, `ftp_proxy`, `no_proxy`, and also the upper case versions of -those. This option is only needed when the host system must use a proxy but -the container should not use any proxy. Proxy environment variables specified -for the container in any other way will override the values that would have -been passed thru from the host. (Other ways to specify the proxy for the -container include passing the values with the `--env` flag, or hardcoding the -proxy environment at container build time.) - -For example, to disable passing these environment variables from host to -container: - -`--http-proxy=false` - -Defaults to `true` - **--expose**=[] Expose a port, or a range of ports (e.g. --expose=3300-3310) to set up port redirection @@ -289,20 +269,27 @@ Add additional groups to run as **--healthcheck**="" -Set or alter a healthcheck for a container. The value must be of the format of: +Set or alter a healthcheck command for a container. The command is a command to be executed inside your +container that determines your container health. The command is required for other healthcheck options +to be applied. A value of `none` disables existing healthchecks. + +**--healthcheck-interval**="" + +Set an interval for the healthchecks (a value of `disable` results in no automatic timer setup) (default "30s") - `[OPTIONS] CMD command` +**--healthcheck-retries=** - where options can be any of the follow: - * --interval=DURATION (default: 30s) - * --timeout=DURATION (default: 30s) - * --start-period=DURATION (default: 0s) - * --retries=N (default: 3) +The number of retries allowed before a healthcheck is considered to be unhealthy. The default value is `3`. -Note: options are *not* required. +**--healthcheck-start-period**="" -The command is a command to be executed inside your container that determines your container health. The -command is required. +The initialization time needed for a container to bootstrap. The value can be expressed in time format like +`2m3s`. The default value is `0s` + +**--healthcheck-timeout**="" + +The maximum time allowed to complete the healthcheck before an interval is considered failed. Like start-period, the +value can be expressed in a time format such as `1m22s`. The default value is `30s`. **--hostname**="" @@ -314,6 +301,26 @@ Sets the container host name that is available inside the container. Print usage statement +**--http-proxy**=*true*|*false* + +By default proxy environment variables are passed into the container if set +for the podman process. This can be disabled by setting the `--http-proxy` +option to `false`. The environment variables passed in include `http_proxy`, +`https_proxy`, `ftp_proxy`, `no_proxy`, and also the upper case versions of +those. This option is only needed when the host system must use a proxy but +the container should not use any proxy. Proxy environment variables specified +for the container in any other way will override the values that would have +been passed thru from the host. (Other ways to specify the proxy for the +container include passing the values with the `--env` flag, or hardcoding the +proxy environment at container build time.) + +For example, to disable passing these environment variables from host to +container: + +`--http-proxy=false` + +Defaults to `true` + **--image-volume**, **builtin-volume**=*bind*|*tmpfs*|*ignore* Tells podman how to handle the builtin image volumes. @@ -607,7 +614,7 @@ Automatically remove the container when it exits. The default is *false*. Note that the container will not be removed when it could not be created or started successfully. This allows the user to inspect the container after -failure. The `--rm` flag is incompatible with the `-d` flag. +failure. **--rootfs** diff --git a/docs/podman-varlink.1.md b/docs/podman-varlink.1.md index 7eeb3dd66..0501d853f 100644 --- a/docs/podman-varlink.1.md +++ b/docs/podman-varlink.1.md @@ -7,8 +7,10 @@ podman\-varlink - Runs the varlink backend interface **podman varlink** [*options*] *uri* ## DESCRIPTION -Starts the varlink service listening on *uri* that allows varlink clients to interact with podman. This should generally be done -with systemd. See _Configuration_ below. +Starts the varlink service listening on *uri* that allows varlink clients to interact with podman. If no *uri* is provided, a default +URI will be used depending on the user calling the varlink service. The default for the root user is `unix:/run/podman/io.podman`. Regular +users will have a default *uri* of `$XDG_RUNTIME_DIR/podman/io.podman`. For example, `unix:/run/user/1000/podman/io.podman` +The varlink service should generally be done with systemd. See _Configuration_ below. ## GLOBAL OPTIONS @@ -23,16 +25,23 @@ second. A value of `0` means no timeout and the session will not expire. ## EXAMPLES -Run the podman varlink service manually and accept the default timeout. +Run the podman varlink service accepting all default options. ``` -$ podman varlink unix:/run/podman/io.podman +$ podman varlink +``` + + +Run the podman varlink service with an alternate URI and accept the default timeout. + +``` +$ podman varlink unix:/tmp/io.podman ``` Run the podman varlink service manually with a 5 second timeout. ``` -$ podman varlink --timeout 5000 unix:/run/podman/io.podman +$ podman varlink --timeout 5000 ``` ## CONFIGURATION diff --git a/docs/tutorials/podman_tutorial.md b/docs/tutorials/podman_tutorial.md index f972853e6..032b7c851 100644 --- a/docs/tutorials/podman_tutorial.md +++ b/docs/tutorials/podman_tutorial.md @@ -8,114 +8,9 @@ commands with Podman. **NOTE**: the code samples are intended to be run as a non-root user, and use `sudo` where root escalation is required. -## Install Podman on Fedora from RPM Repositories -Fedora 27 and later provide Podman via the package manager. -```console -sudo dnf install -y podman -``` - -*Optional*: If you've already installed podman on Fedora and you're feeling -adventerous, you can test the very latest podman in Fedora's `updates-testing` -repository before it goes out to all Fedora users. -```console -sudo yum distro-sync --enablerepo=updates-testing podman -``` - -If you use a newer podman package from Fedora's `updates-testing`, we would -appreciate your `+1` feedback in [Bodhi, Fedora's update management -system](https://bodhi.fedoraproject.org/updates/?packages=podman). - -## Install Podman on Fedora from Source -Many of the basic components to run Podman are readily available from the Fedora RPM repositories. -In this section, we will help you install all the runtime and build dependencies for Podman, -acquire the source, and build it. - -### Installing build and runtime dependencies -```console -sudo dnf install -y git runc libassuan-devel golang golang-github-cpuguy83-go-md2man glibc-static \ - gpgme-devel glib2-devel device-mapper-devel libseccomp-devel \ - atomic-registries iptables containers-common containernetworking-cni \ - conmon ostree-devel -``` -### Building and installing podman - -First, configure a `GOPATH` (if you are using go1.8 or later, this defaults to `~/go`), then clone -and make libpod. - -```console -export GOPATH=~/go -mkdir -p $GOPATH -git clone https://github.com/containers/libpod/ $GOPATH/src/github.com/containers/libpod -cd $GOPATH/src/github.com/containers/libpod -make -sudo make install PREFIX=/usr -``` - -You now have a working podman environment. Jump to [Familiarizing yourself with Podman](#familiarizing-yourself-with-podman) -to begin using Podman. - -## Install podman on Ubuntu - -The default Ubuntu cloud image size will not allow for the following exercise to be done without increasing its -capacity. Be sure to add at least 5GB to the image. Instructions to do this are outside the scope of this -tutorial. For this tutorial, the Ubuntu **artful-server-cloudimg** image was used. +## Installing Podman -### Installing build and runtime dependencies - -#### Installing base packages -```console -sudo apt-get update -sudo apt-get install libdevmapper-dev libglib2.0-dev libgpgme11-dev golang libseccomp-dev libostree-dev \ - go-md2man libprotobuf-dev libprotobuf-c0-dev libseccomp-dev python3-setuptools -``` -#### Building and installing conmon -First, configure a `GOPATH` (if you are using go1.8 or later, this defaults to `~/go`), then clone -and make libpod. - -```console -export GOPATH=~/go -mkdir -p $GOPATH -git clone https://github.com/kubernetes-sigs/cri-o $GOPATH/src/github.com/kubernetes-sigs/cri-o -cd $GOPATH/src/github.com/kubernetes-sigs/cri-o -mkdir bin -make bin/conmon -sudo install -D -m 755 bin/conmon /usr/libexec/podman/conmon -``` -#### Adding required configuration files -```console -sudo mkdir -p /etc/containers -sudo curl https://raw.githubusercontent.com/projectatomic/registries/master/registries.fedora -o /etc/containers/registries.conf -sudo curl https://raw.githubusercontent.com/containers/skopeo/master/default-policy.json -o /etc/containers/policy.json -``` -#### Installing CNI plugins -```console -git clone https://github.com/containernetworking/plugins.git $GOPATH/src/github.com/containernetworking/plugins -cd $GOPATH/src/github.com/containernetworking/plugins -./build_linux.sh -sudo mkdir -p /usr/libexec/cni -sudo cp bin/* /usr/libexec/cni -``` -#### Installing CNI config -Add a most basic network config -```console -mkdir -p /etc/cni/net.d -curl -qsSL https://raw.githubusercontent.com/containers/libpod/master/cni/87-podman-bridge.conflist | sudo tee /etc/cni/net.d/99-loopback.conf -``` -#### Installing runc -```console -git clone https://github.com/opencontainers/runc.git $GOPATH/src/github.com/opencontainers/runc -cd $GOPATH/src/github.com/opencontainers/runc -make BUILDTAGS="seccomp" -sudo cp runc /usr/bin/runc -``` - -### Building and installing Podman -```console -git clone https://github.com/containers/libpod/ $GOPATH/src/github.com/containers/libpod -cd $GOPATH/src/github.com/containers/libpod -make -sudo make install PREFIX=/usr -``` +For installing or building Podman, please see the [installation instructions](install.md). ## Familiarizing yourself with Podman @@ -128,7 +23,7 @@ podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/var/run/httpd -e HTTPD_MAIN_CO -e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \ registry.fedoraproject.org/f27/httpd /usr/bin/run-httpd ``` -Because the container is being run in detached mode, represented by the *-d* in the podman run command, podman +Because the container is being run in detached mode, represented by the *-d* in the `podman run` command, Podman will print the container ID after it has run. Note that we use port forwarding to be able to access the HTTP server. For successful running at least slirp4netns v0.3.0 is needed. |