mirror of
https://github.com/containers/podman.git
synced 2025-06-03 03:07:56 +08:00

In podman-create, exec, and run. Went with the podman-run version. Signed-off-by: Ed Santiago <santiago@redhat.com>
92 lines
3.2 KiB
Markdown
92 lines
3.2 KiB
Markdown
% podman-exec 1
|
|
|
|
## NAME
|
|
podman\-exec - Execute a command in a running container
|
|
|
|
## SYNOPSIS
|
|
**podman exec** [*options*] *container* [*command* [*arg* ...]]
|
|
|
|
**podman container exec** [*options*] *container* [*command* [*arg* ...]]
|
|
|
|
## DESCRIPTION
|
|
**podman exec** executes a command in a running container.
|
|
|
|
## OPTIONS
|
|
|
|
#### **--detach**, **-d**
|
|
|
|
Start the exec session, but do not attach to it. The command will run in the background and the exec session will be automatically removed when it completes. The **podman exec** command will print the ID of the exec session and exit immediately after it starts.
|
|
|
|
#### **--detach-keys**=*sequence*
|
|
|
|
Specify the key sequence for detaching a container. Format is a single character `[a-Z]` or one or more `ctrl-<value>` characters where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`. Specifying "" will disable this feature. The default is *ctrl-p,ctrl-q*.
|
|
|
|
#### **--env**, **-e**=*env*
|
|
|
|
Set environment variables.
|
|
|
|
This option allows arbitrary environment variables that are available for the process to be launched inside of the container. If an environment variable is specified without a value, Podman will check the host environment for a value and set the variable only if it is set on the host. As a special case, if an environment variable ending in __*__ is specified without a value, Podman will search the host environment for variables starting with the prefix and will add those variables to the container.
|
|
|
|
#### **--env-file**=*file*
|
|
|
|
Read in a line delimited file of environment variables.
|
|
|
|
@@option interactive
|
|
|
|
#### **--latest**, **-l**
|
|
|
|
Instead of providing the container name or ID, use the last created container. If you use methods other than Podman
|
|
to run containers such as CRI-O, the last started container could be from either of those methods. (This option is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines)
|
|
|
|
@@option preserve-fds
|
|
|
|
@@option privileged
|
|
|
|
@@option tty
|
|
|
|
@@option user
|
|
|
|
@@option workdir
|
|
|
|
## Exit Status
|
|
|
|
The exit code from `podman exec` gives information about why the command within the container failed to run or why it exited. When `podman exec` exits with a
|
|
non-zero code, the exit codes follow the `chroot` standard, see below:
|
|
|
|
**125** The error is with Podman itself
|
|
|
|
$ podman exec --foo ctrID /bin/sh; echo $?
|
|
Error: unknown flag: --foo
|
|
125
|
|
|
|
**126** The _contained command_ cannot be invoked
|
|
|
|
$ podman exec ctrID /etc; echo $?
|
|
Error: container_linux.go:346: starting container process caused "exec: \"/etc\": permission denied": OCI runtime error
|
|
126
|
|
|
|
**127** The _contained command_ cannot be found
|
|
|
|
$ podman exec ctrID foo; echo $?
|
|
Error: container_linux.go:346: starting container process caused "exec: \"foo\": executable file not found in $PATH": OCI runtime error
|
|
127
|
|
|
|
**Exit code** The _contained command_ exit code
|
|
|
|
$ podman exec ctrID /bin/sh -c 'exit 3'; echo $?
|
|
3
|
|
|
|
## EXAMPLES
|
|
|
|
```
|
|
$ podman exec -it ctrID ls
|
|
$ podman exec -it -w /tmp myCtr pwd
|
|
$ podman exec --user root ctrID ls
|
|
```
|
|
|
|
## SEE ALSO
|
|
**[podman(1)](podman.1.md)**, **[podman-run(1)](podman-run.1.md)**
|
|
|
|
## HISTORY
|
|
December 2017, Originally compiled by Brent Baude<bbaude@redhat.com>
|