blob: c0ca41110336d7418df0f5ecc01d1c750f377c51 [file] [view] [edit]
% runc-exec "8"
# NAME
**runc-exec** - execute new process inside the container
# SYNOPSIS
**runc exec** [_option_ ...] _container-id_ [--] _command_ [_arg_ ...]
**runc exec** [_option_ ...] **-p** _process.json_ _container-id_
# OPTIONS
**--console-socket** _path_
: Path to an **AF_UNIX** socket which will receive a file descriptor
referencing the master end of the console's pseudoterminal. See
[docs/terminals](https://github.com/opencontainers/runc/blob/master/docs/terminals.md).
**--cwd** _path_
: Change to _path_ in the container before executing the command.
**--env**|**-e** _name_=_value_
: Set an environment variable _name_ to _value_. Can be specified multiple times.
**--tty**|**-t**
: Allocate a pseudo-TTY.
**--user**|**-u** _uid_[:_gid_]
: Run the _command_ as a user (and, optionally, group) specified by _uid_ (and
_gid_).
**--additional-gids**|**-g** _gid_
: Add additional group IDs. Can be specified multiple times.
**--process**|**-p** _process.json_
: Instead of specifying all the exec parameters directly on the command line,
get them from a _process.json_, a JSON file containing the process
specification as defined by the
[OCI runtime spec](https://github.com/opencontainers/runtime-spec/blob/master/config.md#process).
**--detach**|**-d**
: Detach from the container's process.
**--pid-file** _path_
: Specify the file to write the container process' PID to.
**--process-label** _label_
: Set the asm process label for the process commonly used with **selinux**(7).
**--apparmor** _profile_
: Set the **apparmor**(7) _profile_ for the process.
**--no-new-privs**
: Set the "no new privileges" value for the process.
**--cap** _cap_
: Add a capability to the bounding set for the process. Can be specified
multiple times.
**--preserve-fds** _N_
: Pass _N_ additional file descriptors to the container (**stdio** +
**$LISTEN_FDS** + _N_ in total). Default is **0**.
**--ignore-paused**
: Allow exec in a paused container. By default, if a container is paused,
**runc exec** errors out; this option can be used to override it.
A paused container needs to be resumed for the exec to complete.
**--cgroup** _path_ | _controller_[,_controller_...]:_path_
: Execute a process in a sub-cgroup. If the specified cgroup does not exist, an
error is returned. Default is empty path, which means to use container's top
level cgroup.
: For cgroup v1 only, a particular _controller_ (or multiple comma-separated
controllers) can be specified, and the option can be used multiple times to set
different paths for different controllers.
: Note for cgroup v2, in case the process can't join the top level cgroup,
**runc exec** fallback is to try joining the cgroup of container's init.
This fallback can be disabled by using **--cgroup /**.
# EXIT STATUS
Exits with a status of _command_ (unless **-d** is used), or **255** if
an error occurred.
# EXAMPLES
If the container can run **ps**(1) command, the following
will output a list of processes running in the container:
# runc exec <container-id> ps
# SEE ALSO
**runc**(8).