Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
podman-exec(1)		     General Commands Manual		  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
   --cidfile=file
     Read the ID of the target container from the specified file.

   --detach, -d
     Start  the  exec  session, but do not attach to it. The command runs in the
     background, and the exec session is  automatically  removed  when	it  com-
     pletes. The podman exec command prints the ID of the exec session and exits
     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 "" disables this feature. The  default
     is ctrl-p,ctrl-q.

     This option can also be set in containers.conf(5) file.

   --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 vari-
     able is specified without a value, Podman checks 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 searches the host environment for variables starting with the prefix
     and adds those variables to the container.

   --env-file=file
     Read in a line-delimited file of environment variables.

   --interactive, -i
     When set to true, make stdin available to the contained process. If  false,
     the stdin of the contained process is empty and immediately closed.

     If  attached, stdin is piped to the contained process. If detached, reading
     stdin will block until later attached.

     Caveat: Podman will consume input from stdin as soon as it  becomes  avail-
     able, even if the contained process doesn't request it.

   --latest, -l
     Instead  of  providing  the container name or ID, use the last created con-
     tainer.  Note: the last started container can be from other users of Podman
     on the host machine.  (This option is not available with the remote  Podman
     client, including Mac and Windows (excluding WSL2) machines)

   --no-session
     Do  not  create  a  database session for the exec process. This can improve
     performance but the exec session will not be visible to other  podman  com-
     mands.

   --preserve-fd=FD1[,FD2,...]
     Pass  down  to the process the additional file descriptors specified in the
     comma separated list.  It can be specified multiple times.  This option  is
     only  supported  with the crun OCI runtime.  It might be a security risk to
     use this option with other OCI runtimes.

     (This option is not available with the remote Podman client, including  Mac
     and Windows (excluding WSL2) machines)

   --preserve-fds=N
     Pass  down  to the process N additional file descriptors (in addition to 0,
     1, 2).  The total FDs are 3+N.  (This option is not available with the  re-
     mote Podman client, including Mac and Windows (excluding WSL2) machines)

   --privileged
     Give extended privileges to this container. The default is false.

     By default, Podman containers are unprivileged (=false) and cannot, for ex-
     ample,  modify  parts of the operating system. This is because by default a
     container is only allowed limited access to devices.  A  "privileged"  con-
     tainer  is  given the same access to devices as the user launching the con-
     tainer, with the exception of virtual consoles (/dev/tty\d+)  when  running
     in systemd mode (--systemd=always).

     A	privileged  container  turns  off the security features that isolate the
     container from the host. Dropped Capabilities, limited  devices,  read-only
     mount points, Apparmor/SELinux separation, and Seccomp filters are all dis-
     abled.   Due to the disabled security features, the privileged field should
     almost never be set as containers can easily break out of confinement.

     Containers running in a user namespace (e.g., rootless  containers)  cannot
     have more privileges than the user that launched them.

   --tty, -t
     Allocate a pseudo-TTY. The default is false.

     When  set to true, Podman allocates a pseudo-tty and attach to the standard
     input of the container. This can be used, for example, to run  a  throwaway
     interactive shell.

     NOTE:  The --tty flag prevents redirection of standard output.  It combines
     STDOUT and STDERR, it can insert control characters, and it can hang pipes.
     This option is only used when run interactively in a terminal. When feeding
     input to Podman, use -i only, not -it.

   --user, -u=user[:group]
     Sets the username or UID used and, optionally, the groupname or GID for the
     specified command. Both user and group may be symbolic or numeric.

     Without this argument, the command runs as the user specified in  the  con-
     tainer  image.  Unless overridden by a USER command in the Containerfile or
     by a value passed to this option, this user generally defaults to root.

     When a user namespace is not in use, the UID and GID used within  the  con-
     tainer and on the host 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 by default corresponds to the UID and GID of  the
     user invoking Podman.

   --workdir, -w=dir
     Working directory inside the container.

     The  default  working  directory for running binaries within a container is
     the root directory (/).  The image developer can set  a  different  default
     with  the WORKDIR instruction. The operator can override the working direc-
     tory by using the -w option.

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 ex-
     its 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
     Execute command in selected container with a stdin and a tty allocated:

     $ podman exec -it ctrID ls

     Execute command with the overridden working directory in selected container
     with a stdin and a tty allocated:

     $ podman exec -it -w /tmp myCtr pwd

     Execute command as the specified user in selected container:

     $ podman exec --user root ctrID ls

     Execute  command  but do not attach to the exec session leaving the command
     running in the background:

     $ podman exec -d ctrID find /path/to/search -name yourfile

SEE ALSO
     podman(1), podman-run(1)

HISTORY
     December  2017,  Originally  compiled   by   Brent   Baudebbaude@redhat.com
     <mailto:bbaude@redhat.com>

								  podman-exec(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=podman-container-exec&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help